一、垂直应用架构
1、原理 略
二、RPC架构
1、原理略
2、业界开源的rpc框架有很多,比较主流的rpc框架有:
1)facebook开发的远程服务调用框架 apache thrift
2)hadoop的子项目 Avro Rpc
3)caucho提供的基于binary-RPC实现的远程通信框架 Hessian
4)google开源的基于HTTP/2和ProtoBuf的通用框架 gRPC
3、面临的挑战:
在大规模服务化之前,应用可能只是通过rpc框架,简单的暴露和引用远程服务,通过配置服务的url地址进行远程服务调用,路由则通过F5硬件负载均衡器或者SLB进行简单的负载均衡。
当服务越来越多,服务Url配置管理变得很困难,F5等硬件负载均衡服务器的单点压力也越来越大。此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。消费者在本地缓存服务提供者列表 实现软负载均衡,这可以降低对F5等昂贵的硬件负载均衡服务器的依赖,从而降低成本。
随着业务的发展,服务之间的依赖关系变得错综复杂,甚至分不清楚哪个应用要在哪个应用前启动,就连架构师也不能完整的描述应用之间的调用关系,此时需要一个分布式消息跟踪系统 可视化展示服务调用链,用于依赖分析、业务调用路径的梳理等,帮助架构师清理不合理的服务依赖,防止服务架构变质。
服务的调用量越来越大,此时服务的容量问题就暴露出来了,某个服务需要多少机器支撑?什么时候该加机器?为了解决容量规划问题,需要采集服