微服务

微服务

    • 注册中心
      • Spring Cloud Eureka
        • 搭建 Eureka 注册中心
        • Eureka 客户端
        • 运行图
      • Spring Cloud Alibaba Nacos
        • 整合注册到Nacos
          • 添加依赖
          • 添加配置文件
          • 配置注解
    • 配置中心
      • Spring Cloud Config
      • Spring Cloud Alibaba Nacos
    • 链路追踪
      • Spring Cloud Senth
      • Skywalking
    • 消息驱动
      • Spring Cloud Stream
    • 熔断、容灾、降级
      • Hystrix
      • Sentinel
    • 服务调用
      • Ribbon
      • Feign
    • 服务部署
      • Docker-Compose
      • Kubernetes

微服务_第1张图片

注册中心

Spring Cloud Eureka

个人观点:eureka 和 Zookeeper 相类似,但是 zk 保证 cp,而 eureka 保证 ap,(CAP 相关资料),当主服务发生故障时,zk 需要一段时间的投票选取出来才能进行服务的提供,但是 eureka 则当发生故障的时候会直接调用子节点。百度百科的eureka和Zookeeper的介绍。

搭建 Eureka 注册中心

  1. 需要添加的依赖包
 <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-eureka-serverartifactId>
 dependency>
  1. 需要添加到 application.xml 中的配置,Spring Cloud Eureka 常用配置及说明(转载)。
server.port=8100
eureka.instance.hostname=140.143.15.242
spring.application.name=lattice-eureka
# 是否注册到eureka
eureka.client.register-with-eureka=true
# 是否从eureka获取注册信息
eureka.client.fetch-registry=true
#实例以ip地址展示
eureka.instance.prefer-ip-address=true
## 注册eureka  互相注册实现集群
eureka.client.service-url.defaultZone=http://140.143.15.242:8200/eureka/,http://140.143.15.242:8300/eureka/
# 设置关闭自我保护机制
eureka.server.enable-self-preservation=false
# 10秒检测一次
eureka.server.eviction-interval-timer-in-ms=10000
  1. 需要再启动类上添加@EnableEurekaServer 注解,然后启动即可。注册中心的集群,只需要按以上步骤重新创建一个工程即可,修改 application.xml 的配置文件中的 eureka.client.service-url.defaultZone。

Eureka 客户端

  1. 需要添加的依赖包:
<dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
            <version>2.0.0.RELEASEversion>
dependency>
  1. 需要在 application.xml 中添加的配置,相关的配置说明可以参照上面的 Spring Cloud Eureka 常用配置及说明。
eureka.client.service-url.defaultZone=http://140.143.15.242:8100/eureka/,http://140.143.15.242:8200/eureka/,http://140.143.15.242:8300/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.instance.lease-renewal-interval-in-seconds=4
eureka.instance.lease-expiration-duration-in-seconds=6
  1. 需要再启动类中添加的注解@EnableEurekaClient,直接启动即可,当注册中心和客户端启动该之后可以通过http://localhost:8100/进行查看。

运行图

微服务_第2张图片

Spring Cloud Alibaba Nacos

  • nacos是阿里开源的经过大量测试的开源框架,支持注册中心和配置中心,中文化,而且还能够进行节点管理,动态设置权重

整合注册到Nacos

  • 添加依赖
  • 添加配置文件
  • 添加配置注解
添加依赖

       <dependency>
           <groupId>org.springframework.cloudgroupId>
           <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
           <version>0.9.0.RELEASEversion>
           <exclusions>
               <exclusion>
                   <groupId>org.springframework.bootgroupId>
                   <artifactId>spring-boot-actuatorartifactId>
               exclusion>
           exclusions>
       dependency>
  • 去除 spring-boot-actuator 依赖,否则会报以来冲突错误,导致无法启动
  • 注意版本号,版本不对应会导致无法启动
  • 注意nacos依赖版本,使用其他的依赖可能导致配置过于麻烦
添加配置文件

注册中心和配置中心应该在程序刚启动时就去注册和拉取配置,所以应配置在 bootstrap.yml

server:
  port: 8080
spring:
  application:
    name: renren_fast
  cloud:
    nacos:
      discovery:
          ## 服务区地址+端口
        server-addr: ${NACOS-HOST:pig-register}:${NACOS-PORT:8848}
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        file-extension: yml
        shared-configs:

          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

  profiles:
    active: dev
配置注解

需要在启动类上开启注册,否则启动失败,添加的注解 @EnableDiscoveryClient

配置中心

Spring Cloud Config

Spring Cloud Alibaba Nacos

链路追踪

Spring Cloud Senth

Skywalking

消息驱动

Spring Cloud Stream

熔断、容灾、降级

Hystrix

Sentinel

服务调用

Ribbon

Feign

服务部署

Docker-Compose

Kubernetes

你可能感兴趣的:(常用技术,微服务,java,spring,boot,后端)