Spring Cloud

2021-07-08  本文已影响0人  美美的苹果核

公共抽象类 Commons

DiscoveryClient

服务发现,如EurekaDiscoveryClient

ServiceRegistry

服务注册,如EurekaServiceRegistry

RestTemplate

HTTP请求,可以通过setInterceptors添加拦截器对请求进行功能扩展,如负载均衡的实现

配置中心

Config

Nacos

服务注册与发现

Eureka 参考

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
#服务注册中心端口号
server.port=1110

#服务注册中心实例的主机名
eureka.instance.hostname=localhost
#是否向服务注册中心注册自己
eureka.client.register-with-eureka=false
#是否检索服务
eureka.client.fetch-registry=false
#服务注册中心的配置内容,指定服务注册中心的位置
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
#服务注册中心的配置内容,指定服务注册中心的位置
eureka.client.serviceUrl.defaultZone=http://host:port/eureka/
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
spring.security.user.name=aaaa
spring.security.user.password=123456
# server端
服务注册(Register)-> 服务续约(Renew)-> 服务下线(Cancel)-> 服务剔除(Eviction)

# producer端
服务注册(Register)-> 服务续约(Renew)-> 服务下线(Cancel)

# consumer端
获取服务列表(Fetch)-> 更新服务列表(Update)

Nacos

负载均衡

Ribbon

Nginx

LoadBalancer

容错保护

Hystrix

Sentinel 官网

服务调用

RestTemplate

OpenFeign

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

网关路由

Zuul

zuul:
  ignoredServices: '*'
  host:
    connect-timeout-millis: 20000
    socket-timeout-millis: 20000
    
  routes:
    auth-service:
        path: /uaa/**
        url: http://auth-service:5000
        stripPrefix: false
        sensitiveHeaders:

    account-service:
        path: /accounts/**
        serviceId: account-service
        stripPrefix: false
        sensitiveHeaders:

Gateway

健康检查

Actuator

引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

通过HTTP暴露Actuator endpoints

# 对外暴露的endpoints,默认health,info
management.endpoints.web.exposure.include = *
# 显示详细信息
management.endpoint.health.show-details = always
# 关闭mongo健康检查
management.health.mongo.enabled = false

常用接口

# 查看actuator接口
http://xxx.com/config/actuator
# 健康检查
http://xxx.com/config/actuator/health
# 容器的Bean
http://xxx.com/config/actuator/beans

自定义

@Endpoint 构建 rest api 的唯一路径

@ReadOperation GET请求,响应状态为 200 如果没有返回值响应 404
@WriteOperation POST请求,响应状态为 200 如果没有返回值响应 204
@DeleteOperation DELETE请求,响应状态为 200 如果没有返回值响应 204

@Selector 获取路径上的参数
上一篇下一篇

猜你喜欢

热点阅读