1 微服务

1.1 思想

开发人员自己测试、部署和运维自己编写的代码,即自己负责构建生命周期的全部。

1.2 Spring Boot

提供服务化的能力,即把容器、服务所需依赖和服务一起打包成一个jar包,直接运行jar便部署了一个服务。

Spring Boot可以把Spring的一切都纳入进来,比如Spring MVC、Spring Data、Spring Batch、Spring Security等。

1.3 Spring Cloud

提供云平台服务化的能力。提供服务发现、集中式配置,集成了智能路由和负载均衡、断路器等组件。

使用注解实现配置,使用jar包实现部署,使我们开发的服务具有很好的伸缩性和灵活性。

   

2 容器化

1)极简式

使用可复用的镜像,镜像分层存储了软件及软件所需的各层依赖与配置。

镜像简化了多种环境下的统一配置,为持续集成带来了一致性的测试环境,为运维提供了跨平台的统一部署能力。

容器的轻量性,为服务提供了快速扩容和快速回收的可伸缩性。

2)不变式

不要试图修改容器,可以修改容器的配置文件。

容器负责计算,主机负责存储容器配置和数据。容器挂死后,可以启动一个新容器代替前者,数据不会丢失。

3)收敛式

一个容器一个职责,完成后就关闭。

4)容器可执行

5)可以容器化微服务