1、架构演进与微服务
单体架构:一个归档包包含所有的功能的应用程序。
缺点:
复杂性逐渐变高
技术债务逐渐上升
部署速度逐渐变慢
阻碍技术创新
无法按需伸缩
架构演进:
单体架构
SOA
微服务
微服务优点:
易于开发和维护
启动快
按需伸缩
技术栈不受限
局部修改容易部署
缺点:
运维要求高
分布式复杂
接口调整成本高
重复劳动
2、RPC
RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。 几种比较典型的RPC的实现和调用框架。 (1)RMI实现,利用java.rmi包实现,基于Java远程方法协议(Java Remote Method Protocol) 和java的原生序列化。 (2)Hessian,是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 基于HTTP协议,采用二进制编解码。 (3)thrift是一种可伸缩的跨语言服务的软件框架。thrift允许你定义一个描述文件,描述数据类型和服务接口。依据该文件,编译器方便地生成RPC客户端和服务器通信代码。 (4)SpringCloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。