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)可以容器化微服务