1.初识微服务
1.1微服务架构
- 微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过 HTTP 的 RESTfuLAPI 进行通信协作。
- 被拆分成的每一个小型服务都围绕着系统中的某一项或些耦合度较高的业务功能进行构建,并且每个服务都维护着自身的数据存储、业务开发自动化测试案例以及独立部署机制。
- 由于有了轻量级的通信协作基础,所以这些微服务可以使用 不同的语言来编写。
1.2 初识Springcloud
- springcloud是一系列框架的有序集合。
- springcloud是讲目前各家公司开发的比较成熟的、经得起实际考验的服务框架组合起来。
- 通过springboot风格进行了再封装,屏蔽了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署、易维护的分布式系统开发工具包。
- 利用springboot的开发便利性,巧妙简化了分布式系统基础设施的开发。如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以做到一键启动和部署。
- springcloud版本的命名方式采用了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序。比如最早的Release版本:Angel,第二个Release版本:Brixton,然后是Camden、Dalston、Edgware、Finchley、Greenwich、Hoxton。
- 目前最新的版本是Hoxton版本。
1.3 springcloud 和 dubbo 对比
springcloud 和dubbo对比
- springcloud与dubbo都是实现微服务有效的工具。
- Dubbo只是实现了服务治理,而springcloud 子项目分别覆盖了微服务架构下的众多部件。
- Dubbo使用RPC通讯协议,springcloud 使用RESTful完成通信,Dubbo效率略高于Springcloud。
总结:
- 微服务就是将项目的各个模块拆分为可独立运行、部署、测试的架构设计风格。
- Spring公司将其他公司中微服务架构常用的组件整合起来,并使用SpringBoot简化其开发、配置。称为SpringCloud。
- Spring Cloud与Dubbo都是实现微服务有效的工具。Dubbo性能更好,而SpringCloud功能更全面。