保存成功
订阅成功
保存失败,请重试
提交成功
码自在

码自在

资深开发者
资深开发者,目标是成为IT精英(全栈),实现多元化自我价值。目前烦透了CRUD及低水平的重复编码工作,并下定决心潜心修炼,探索分布式架构的底层奥义和最佳应用实践。...更多
创作文章7

微服务中 Token 那些事儿

微服务中,用户的登录、接口的鉴权都离不开 Token,Token 用来保证系统的安全性。 在本场 Chat 中,会讲到如下内容: - Cookie/Session 与 Token 的区别 - 分布式 Session 共享设计 - Tomcat 中 Session 共享的实现 - Token 会话方式模式 - Token 安全设计 - JWT 与 Token 设计 - 算法加密与安全设计 - 理解 Oauth2 - 具体的实现方案和代码
171 订阅

微服务的幂等设计

幂等的概念来源于数学,在微服务中幂等对于确保数据正确性具有重大的意义,所以针对不同的场景,怎么实现幂等,我们需要有一套方法论。 在本场 Chat 中,会讲到如下内容: - 幂等的基本介绍 - 幂等的设计思路 - 幂等的设计实现 - 幂等在电商中设计场景
157 订阅

真正学会 Java 之 Map

- Map 知识脑图梳理 - Hash 算法有哪些 - Java 中的 Object.hashCode 方法与内存地址有关系吗 - Redis 中百万数据如何扩容知多少?和 HashMap 有何不同? - Kafka 中的读写分离 Map 之 CopyOnWriteMap - JDK1.8 后 ConcurrentHashMap 中 Size 方法的计算 - 日常工作中的一些使用和技巧
免费Java
46 订阅

真正学会 Java 集合之 List

真正的学会,不是为了面试学的那一点原理,而是应用在真实的代码之中 - List 知识脑图梳理 - 底层是数组结构的 ArrayList 为什么查询快 - 数组和链表两种数据结构,对垃圾回收的影响 - 写代码时,对 List 操作的一些工具类和技巧 - Collections.sort 的底层排序算法 - 通过 LinkedList 和 HashMap 撸一个 LRUMap - 如何判断链表有环
免费Java
170 订阅

电商高并发系统,Redis 使用最佳实践

随着互联网快速的迭代以及数据量增长,业务逻辑也越来越复杂。随着应用的拆分,微服务化,整个调用链路不断增加,比如一个电商平台,从用户端会经历接入层 SLB、网关、服务、数据库、外围系统等多个环节,这就造成 RT 时间过长,如何保证用户体验,通过阿里分享的经验来讲,优化系统架构通常两种方式:Scale up 和 Scale out。 Scale out,就是通常说的水平扩展,将应用设计为无状态性,可以方便通过增加硬件水平扩展的方式来分解访问压力。 Scale up,则是将单个服务链路性能提升,以提升 QPS 以及系统的吐出量,并且大部分场景以读多写少,通常我们会引入缓存来提升系统的整体性能。 1. 缓存术语定义与共识 - 缓存命中 - Cache miss - 存储成本 - 缓存失效 - 缓存污染 - 缓存策略 2. Redis Key 设置的最佳实践 3. Redis 连接池优化 4. 使用 lua 脚本批量操作 5. 如何防止缓存穿透、击穿、雪崩? 6. 应用内缓存 + Redis 实现多级缓存 7. 分布式锁 Redisson 的使用 8. 基于注解的方式实现分布式锁(基于 Redisson) 9. 基于注解的方式实现防重复提交(基于 Redis) 10. 电商购物车业务如何使用 Redis 缓存来提升访问效率以及降低对数据库的冲击
Redis
147 订阅

后端开发必须掌握的 Linux 基础知识

作为一名优秀的程序员,我们不仅能撸得了代码,而且必须了解一些 Linux 的知识,这样当生产环境出现问题或者运维人手不够,需要我们登录 Linux 服务器查看问题的时候,我们总能给他们一个肯定的眼神,放心有我在。全部命令通过脑图清晰呈现,想要熟练掌握,无他,唯手熟尔。 1. 基础命令 - 查看文件:cat、more、less、head、tail - 文本处理:vim、grep、wc、sed、uniq、awk - 传输文件:rz、sz、scp - 其他命令:find、pwd、mount - 进程管理:ps、top、nohup、Isof - 系统信息:hostname、uptime、iostat - 查看磁盘:du、df 2. 网络相关 - ifconfig 命令 - netstat 命令 - SS 命令 - DNS 查询 3. NTP(时间同步) - NTP 介绍 - 时间来源 - 配置 4. 软件安装 - yum - rpm 5. 日志查看 - 日志查看命令 - 常用日志文件目录 6. CPU 飙高和频繁 GC 用什么命令怎么查 7. Alibaba 开源的 Java 诊断工具 Arthas 的简单使用 8. 阿里开源监控 Linux 系统状态的利器 Tsar 使用 9. Linux 监控神器 Prometheus 的简单介绍
Linux
203 订阅

高并发场景下,Java 日志的最佳应用实践

关于日志,《码出高效》一书里有个很好的例子:航空飞机中的黑匣子,就是一个重要的航空日志的载体,调查空难原因时的第一反应就是找到黑匣子,并通过解析其中的日志信息来还原空难的事实真相。 日志对于故障的排除是必不可少的,而在高并发场景下,如何高性能的输出日志,定位问题,统一规范则是我们必须要考虑的。 在本场 Chat 中,会讲到如下内容: 1. 日志技术选型 - Log API(Log 门面层)选型 - 日志引擎层技术选型 2. Log4j2 高性能原理解析 - 关于Log4j2 - 异步 Loggers - Garbage-free Logging 3. Spring Boot 集成 Log4j2 - 配置 - 日志格式 4. 通过切面处理入参、出参日志打印方法 5. 高并发场景下,日志输出遇到的坑 6. 分布式系统日志链路跟踪方案与原理 通过以上的讲解,你会系统的了解如何使用日志,做到知其然,并知其所以然。
Java
184 订阅