面试问题:
1、为什么不用开源的fastdfs,而自己手写?
答:因为fastdfs很烂,不是用java写的,不好看源码,经常线上出点问题看不懂。
2、为何要自研微服务注册中心?
答:因为eureka已经不维护了,非常不活跃,有很多性能问题和bug,难以支撑大规模的系统部署
Netty中的server有两种线程角色:单个accptor线程+多个processor线程。而在kafka和我们自己的项目中,processor后面还多了个handler线程,这时processor只是解析请求,处理请求交给handler线程。但是为了支持更多的客户端,accptor线程页会搞多个。
我们可以自己再加一个线程池handler。
基于netty时解决粘包拆包:
1)换行符
2)特殊字符
3)自定义一个数据的长度,固定。(每个数据长度一样)