微服务架构超详细介绍
一、 单体架构
单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合 在一个应用中的架构方式。 1. 单体架构特点
-
打包成一个独立的单元(导成一个唯一的jar包或者是war包) 会一个进程的方式来运行
2. 单体架构的优点、缺点 2.1优点
-
项目易于管理 部署简单
2.2缺点 1.测试成本高 2.可伸缩性差 3.可靠性差 4.迭代困难 5.跨语言程度差 6.团队协作难
二、 微服务架构
-
客户端与服务端的 基于组件模型的架构(EJB) 分层架构(MVC) 面向服务架构(SOA)
三、 MVC、RPC、SOA、微服务架构之间的区别
1. MVC 架构 其实 MVC 架构就是一个单体架构。 代表技术:Struts2、SpringMVC、Spring、Mybatis 等等。 2. RPC 架构 RPC(RemoteProcedureCall):远程过程调用。他一种通过网络从远程计算机程序上请求 服务,而不需要了解底层网络技术的协议。 代表技术:Thrift、Hessian 等等 3. SOA 架构 SOA(ServiceorientedArchitecture):面向服务架构 ESB(Enterparise Servce Bus):企业服务总线,服务中介。主要是提供了一个服务于服务 之间的交互。 ESB 包含的功能如:负载均衡,流量控制,加密处理,服务的监控,异常处理,监控 告急等等。 代表技术:Mule、WSO2 4 微服务架构 微服务就是一个轻量级的服务治理方案。 代表技术:SpringCloud、dubbo 等等
四、 如何设计微服务以及设计原则
- 无状态协议 HTTP,具备先天优势,扩展能力很强。例如需要安全加密,有 现成的成熟方案 HTTPS即可。
- JSON 报文序列化,轻量简单,人与机器均可读,学习成本低,搜索引擎友 好。
- 语言无关,各大热门语言都提供成熟的 RestfulAPI 框架,相对其他的一些 RPC 框架生态更完善。