RPC 技术选型
rpc:apache Thrift, Dubbo,Google protobuf。
还有一些公司自己研发的rpc框架。
服务注册与发现
Spring cloud 提供了自己的服务注册与发现功能,rpc 一般使用zookeeper 来提供。
至于为什么需要Apache curator 来管理zookeeper 框架,其细节还不明白。以后再写博客来梳理。
数据存储服务
数据是服务瓶颈,所以一般采用主从分离。即写入主库,查询走从库,这种方式一般不需要专门写同步程序,比如oracle自带同步程序。但是对于写入有事物要求的数据库,其读取性能不是很好。
所以我们会发挥各种数据库的优势,比如通过消息机制把消息发送到ES/mysql 等 。通过es来提供分布式检索服务。
数据量大的时候从从库读取时也会很慢,所以就需要采用缓存。缓存有被动更新和主动更新策略。
被动更新意思是:需要时,如果不在缓存(包括失效了)则从主库中读取。
主动更新是:从库接收到主库message时,立马更新缓存。
什么是网关
根据微服务的实现原则,一个服务管理一个存储库。为了稳定以有的服务被重新实现为服务网关,为各个自服务来提供代理服务。
网友评论