读这本书的原因?
- 志飞去年推荐了一些书,说,看完这些书你就能和他们搭上话了
- 之前关注的地方太片面,看完这本书对工作中的技术组件有了更系统的认识
1.应用架构演进
应用架构演进
1.1垂直架构
垂直架构
业务发展初期,所有功能都部署在同一个进程中,应用之间的调用通过本地api调用,没有跨进程的交互。
挑战:
1)随着服务的增长,开发维护成本逐渐增加,部署效率降低
core 的 st部署为例(不太恰当的例子)
2)系统可靠性变差。由于是对等集群部署,如果一个节点有问题,意味着其他节点也有类似的问题,
1.2RPC架构
- rpc(Remote procedure call)远程进程调用
由于垂直应用的增加,应用之间的交互不可避免,将公共服务抽取出来,形成稳定的服务中心,实现功能的复用。接口调用由本地调用变为跨进程的远程调用。
- MtThrift是基于FaceBook开发的远程服务调用框架Apache Thrift进行了二次开发
挑战:
早期的RPC框架,是指简单的暴露和引用服务,但是服务愈来越多,对于服务的管理变得越来越困难
服务需要多少机器支撑?
什么时候扩容?
服务的调用链路?
服务的上下线?
服务的生命周期管理?
服务化之后带来的问题就是服务治理。 但是单凭RPC框架无法完成服务治理问题
1.3 SOA(Service oriented Architecture)
SOA的关键级服务治理包括
1.服务的定义(appkey)
2.生命周期管理()
3.服务版本
4.服务注册中心(octo的服务详情)
5.服务监控(业务指标)
6.服务质量保障(性能指标)
7.快速故障定位
8.服务安全(服务鉴权)
等
1.4 微服务
服务的粒度更小
core的拆分,是向微服务的靠近
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。