一、架构的演变(图参考自蚂蚁课堂)
1、单体应用架构
这种架构部署很简单,像SSM框架就是典型的例子,运维人员共各地不需要太深功力。但是这种架构很有问题,代码耦合度极高,只要一点需求变动,就要重新打包部署,整个系统期间都处于不可用状态,而且没有对业务逻辑代码进行拆分,代码都挤在一起。
2、分布式架构
这种架构将业务进行了粗粒度的拆分,不同业务直接写在不同系统上面,一定程度上降低了代码的耦合度。
3、SOA架构模式(Service-Oriented Architecture)
面向与接口开发,将共同存在的业务逻辑抽取成一个共同的服务,提供给其他的服务接口实现调用、服务与服务之间通讯采用rpc远程调用技术。基于SOAP协议(HTTP+XML),数据冗余量非常大。
4、微服务架构
每个服务都可以单独运行,服务与服务通讯协议采用Http协议,使用restful风格API形式来进行通讯,数据交换格式轻量级json格式通讯,整个传输过程中,采用二进制,所以http协议可以跨语言平台,
二、服务发现
1、父工程引入以下pom.xml(直接用了最新的版本)
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR4</spring-cloud.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>