这是我学习SpringCloud时整理的笔记,希望对看到这篇博文的人有所帮助
天下大事 分久必合 合久必分!
微服务与Cloud
学习之前我们先看下微服务,这是微服务提起者马丁福勒微服务架构的论文
https://martinfowler.com/articles/microservices.html
微服务概述:
优势:耦合度低方便开发和维护
缺点:服务与服务之间通信问题
微服务与微服务架构:微服务强调的是个体,多个个体整合一起对外就是微服务架构
微服务:
微服务架构:
微服务技术栈:多种技术维度的几何体
服务治理(dubbo)、服务注册(zookeeper)、服务调用、服务复杂均衡(Nginx)、服务监控、消息队列(ActiveMQ)。。。等等
Cloud概述:一整套技术的结合
详参照官网:https://spring.io/
SpringCloud可以把这些整合到一起(几乎支持所有的微服务技术维度,除了RPC,使用Rest代替;比dubbo要多,因为dubbo停更5年) 建议新系统用Cloud
SpringCloud和SpringBoot的关系:boot开发单个微服务,cloud全局服务治理
Eureka
Euraka自身的构建:
添加POM:
<!--eureka-server服务端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
修改yml:
server:
port: 7001
eureka:
instance:
hostname: eureka7001.com #eureka服务端的实例名称
client:
register-with-eureka: false #false表示不向注册中心注册自己。
fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
#单机 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
启动类添加注解:@EnableEurekaServer 代表这是S 服务端
把生产者入住进Eureka 同理:
修改生产者POM:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
修改yml
eureka:
client: #客户端注册进eureka服务列表内
service-url:
defaultZone: http://localhost:7001/eureka
主启动类添加注解: @EnableEurekaClient 代表这是C 客户端
配置好后启动Eureka,然后启动微服务,打开后台微服务在这:
如果提示这个,是Eureka的自我保护,不是报错!
Eureka页面别名和网页左下角IP信息提示从这里改:
instance:
instance-id: microservicecloud-dept8001 #Eureka后台微服务Status别名
prefer-ip-address: true #访问路径可以显示IP地址
微服务链接点进去info内容详细信息从这改:
info:
app.name: atguigu-microservicecloud
company.name: www.atguigu.com
build.artifactId: $project.artifactId$
build.version: $project.version$