微服务治理

一、注册发现

服务发现治理----->把微服务向注册服务器注册----->微服务之间的访问通过注册服务器发现

 (这里采取的是阿里的nacos)
 1、创建nacos数据库,并创建表初始化数据。
 2、在application.properties 进行配置
server.port=8848  #配置端口号  8848 是世界最高峰的高度  

 db.url.0=jdbc:mysql://数据库IP地址:3306/J185_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
 db.user.0=用户名
 db.password.0=密码
 3、把nacos-mysql.sql 配置文件导入到新建的数据库
 4、进入bin文件夹,执行【单机启动.bat】
 5、访问nacos地址,默认账号为nacos  密码为nacos

二、负载均衡

在项目中引入服务发现的坐标

   <dependency>
          <groupId>com.alibaba.cloud</groupId>
          <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
          <version>2021.1</version>
   </dependency>

在配置文件中配置nacos地址,给应用程序取一个名字

spring:
  application:
    name: 项目名称
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

实现

@Service
//此为客户端处代码,name为要代理实现服务端的名字
@FeignClient(name = "nginxThree")
public interface INginxOneService {
    @GetMapping("three")
    public String three();
}

三、熔断

熔断------>服务降级处理----->避免服务雪崩

在项目中引入服务发现的坐标

 <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
          <version>2.2.10.RELEASE</version>
 </dependency>

手动调用熔断

 @EnableHystrix
    
 @HystrixCommand(fallbackMethod = "twoInfoHystrix")
    public String twoInfo(int tag){
        return service.twoInfo(tag);
    }

    public String twoInfoHystrix(int tag){
        return "系统暂时无法访问";
    }

feign自动调用熔断

@FeignClient(name = "sysTwo",fallback = TwoHystrixService.class)

//要开启feign熔断机制
feign:
  circuitbreaker:
    enabled: true

四、集中配置

1、 把所有微服务的配置放到一个服务器上,进行集中配置
2、我们用nacos来做集中配置服务

springboot 默认配置: bootstrap application 前者会优先启动,
后缀: properties yml 前者优先与后者。

    <dependency>
          <groupId>com.alibaba.cloud</groupId>
          <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
          <version>2021.1</version>
   </dependency>
   <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-bootstrap</artifactId>
   </dependency>
spring:
  application:
    name: sysOne
  cloud:
    nacos:
      config:
        server-addr: nacos网址
        file-extension: yml
        prefix: sysOne
  profiles:
    active: dev  #test #master

然后就在nacos网址上,进行配置:
配置管理—>配置列表
命名规则:sysOne-dev.yml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值