自写博客或笔记
- 并发优化 - 降低锁颗粒
- 数据一致性(一) - 接口调用一致性
- go、java对比
- go使用struct tag实现类似于spring boot的yaml配置文件,源码:
- 使用javassist修改字节码实现eureka-client监听服务启动
- 用JAVA二十分钟撸一个简易图片防篡改
- 自制编程语言之用scala写一个简单分词器
- git flow的使用
- java中使用pact做契约测试
- zuul性能调优-使用okhttp替代httpclient
- 使用spock编写spring-boot项目的单元测试
- java中JNI的使用
博客收藏
- Linux下的I/O复用与epoll详解
- 数据库事务隔离级别
- 微服务注册中心 Eureka 架构深入解读
- 分布式Bitmap实践:Naix
- InnoDB并发如此高,原因竟然在这?
- Redis高可用技术解决方案总结
- kafka的exactly once支持
- janus 性能优化与 JVM 调优实践
- 数据库两大神器【索引和锁】
- HTTP缓存机制
- 完全吃透 TLS/SSL
- 分布式理论(一) - CAP定理
- 分布式理论(二) - BASE理论
- 分布式理论(三) - 2PC协议
- 分布式理论(四) - 3PC协议
- 分布式理论(五) - 一致性算法Paxos
- 分布式理论(六) - 一致性协议Raft
- 聊聊分布式存储——图解Paxos
- Raft动画讲解
- GTS:微服务架构下分布式事务解决方案
- Gossip协议在Cassandra中的实现
- 一篇的比较全面的 RxJava2 方法总结
- RxJava2:背压和Flowable
- RxJava2:使用 Subject
开源
-
并发
- 线程安全set:
ConcurrentSkipListSet
、CopyOnWriteArraySet
、ConcurrentHashMap.newKeySet()
、Collections.synchronizedSet(set)
- 线程安全set:
-
分布式技术
- 缓存穿透: 请求去查询缓存数据库中根本就不存在的数据。解决方案:
缓存空值
、BloomFilter
- 缓存雪崩: 缓存层不能提供服务,所有的请求都会达到存储层,存储层的调用量会暴增,造成存储层挂掉。解决方案:
缓存集群
、本地缓存
、限流
、降级
- 缓存穿透: 请求去查询缓存数据库中根本就不存在的数据。解决方案:
-
算法和协议
-
数据一致性
-
容器与devops
- Knative:用于构建、部署和管理Serverless工作负载的Kubernetes框架
- TAC:基于java的微服务容器,提供从业务代码编写、编译、发布、jar动态加载、运行等一系列常用开发流程的支持
- Supervisor:进程管理工具,是通过fork/exec的方式将这些被管理的进程当作supervisor的子进程来启动。
- gVisor:Google开源的轻量级的Sandbox,额外的内存消耗非常小,但同时提供了和VM方案相当隔离等级。
- Pouch:阿里巴巴开源的自研容器技术
- container-diff: Google 开源 Docker 镜像差异分析工具
- Kubernetes: 谷歌开源用于自动化部署,扩展和管理集装箱化应用程序的系统
-
goLang
-
性能调优工具
-
服务发现
-
service mesh
-
分布式框架
- Spring Cloud: 分布式一站式解决,将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来
- dubbo: 是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架
- dubbox:当当根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox
- finatra: twitter基于scala开发
- motan: 新浪轻量级RPC框架
- Thrift: facebook开源,支持多种语言
- grpc: 谷歌开源,支持跨语言
- Istio: Google/IBM/Lyft共同开发的新一代Service Mesh开源项目
- SOFARPC: 蚂蚁金服一个高可扩展性、高性能、生产级的 Java RPC 框架, 提供了丰富的模型抽象和可扩展接口。
-
权限引擎
-
模板引擎
-
依赖注入
-
ORM
-
日志
-
搜索引擎
-
爬虫
-
数据校验
-
restful
-
消息中间件
-
响应式编程
-
热加载
-
数据库连接池
-
测试工具
-
序列化
- FlatBuffers: 相较于Protocol Buffers,其更适用于移动设备
- protobuf: 高性能,跨语言,也是google出品
- jprotobuf: 针对Java程序开发一套简易类库,目的是简化java语言对protobuf类库的使用
- FST: 重新实现的Java快速对象序列化的开发包,序列化速度更快、体积更小,而且兼容JDK原生的序列化
- Kryo: 快速高效的Java序列化框架,支持论文件、数据库或网络数据,自动深拷贝、浅拷贝
- MessagePack: 基于二进制高效的对象序列化类库,跨语言,比JSON更快速也更轻巧
- thrift: 跨语言,不仅仅包括序列化,是一个远程服务调用框架,facebook开源
-
数据库工具
-
服务发现
-
配置相关
-
契约测试
-
字节码工具
-
JVM编程语言