1.首先构建实体类。
2.构建微服务的提供者,就是一套完整的mvc工程。
3.构建微服务的消费者。消费者本身没有service层,是用rest风格模板方法访问提供者的。
================实体类===============提供者完全的mvc=========消费者resttemplae=======================
微服务:
Eureka:是服务的注册中心。
包括Eureka Server和Eureka Client。
4.构建Eureka服务端
server:
port: 7001
eureka:
instance:
# hostname: localhost #eureka服务端的实例名称
hostname: eureka7001.com #ip地址
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/
5.服务的提供者要入驻到Eureka的注册中心,是Eureka的客户端。
6.监控信息的完善,就是配置下
7.服务发现
8.起Eureka集群,起三个Eureka服务端集群,此时Eureka的客户端的yml要修改下
server:
port: 8001
mybatis:
config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径
type-aliases-package: com.atguigu.springcloud.entities # 所有Entity别名类所在包,告诉mybatis,扫描这个包的实体类
mapper-locations:
- classpath:mybatis/mapper/**/*.xml # mapper映射文件,写sql的
spring:
application:
name: microservicecloud-dept #微服务的名字 很重要 这个是服务名 以后消费者就是按照这个服务名找到服务
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 当前数据源操作类型
driver-class-name: org.gjt.mm.mysql.Driver # mysql驱动包
url: jdbc:mysql://192.168.244.130:3306/cloudDB01 # 数据库名称
username: root
password: 123456
dbcp2:
min-idle: 5 # 数据库连接池的最小维持连接数
initial-size: 5 # 初始化连接数
max-total: 5 # 最大连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
eureka:
client: #客户端注册进eureka服务列表内
service-url:
# defaultZone: http://localhost:7001/eureka //这个是8001要入驻的地址就是入驻到eureka的服务器
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
instance:
instance-id: microservicecloud-dept8001
prefer-ip-address: true #访问路径可以显示IP地址
info:
app.name: atguigu-microservicecloud
company.name: www.atguigu.com
build.artifactId: $project.artifactId$
build.version: $project.version$
9.起Eureka的客户端注册到Eureka上面
注意这两个东西是十分重要的,一个代表微服务的名字,一个代表微服务的实例。
=================================Eureka==========================================================
10.上Ribbon是服务的消费者的是控制消费者轮询服务的提供者的。
11.建服务的提供者集群三个提供者注册到Eureka,集群的每个实例有自己的数据库。
12.自定义自己的负载均衡算法,在服务的消费者上写代码,也要配置Eureka作为Eureka的客户端。
================================Ribbon===========================================================
13.Feign只需要创建接口和注解即可-------创建一个带Feign的微服务的消费者。
注解:@FeignClient(value = "MICROSERVICECLOUD-DEPT")指定去哪个服务找了。
接口:
=======================================Feign=====================================================
熔断:
======================================Hystrix=====================================================
zuul:包括对请求的转发和过滤两个功能。
zuul也要注册到Eureka去上面找到服务。
===================================zuul==========================================================