微服务之注册中心(Eureka和Nacos)

1.说明

微服务:顾名思义,微服务就是将大型的项目进行拆分,拆分成一个个微服务,各个服务是独立的,相互配合,然后对这些服务进行调度管理。

关于注册中心:将服务和它实例的ip和端口配置到注册中心,这里的注册中心相当于一个管理微服务实例地址的平台。

在安装配置好nacos或者eureka后,在浏览器输入相应的地址,可以看到类似这样的一个界面

当然你需要在自己的项目中导入依赖并在yml文件中配置具体的信息才能被注册到这个界面里,简单点来说,就是配置一下,他就可以把你的地址信心放到注册中心进行管理了。

服务之间的调用:这里涉及到服务的分级存储模型,服务-->集群--->实例,同一集群下也可以配置环境隔离。微服务实例之间的相互调用遵循负载均衡策略,即在多个相同实例下选择最优的策略。

2.注册中心 

        常见的注册中心有两种,分别是Nacos和Eureka,他们的使用方法基本一致。Nacos的管理界面是中文的,他是阿里巴巴进行开发的国内的注册中心;Eureka的界面是英文的,是SpringCloud官方的。我个人喜欢中文界面的Nacos。

 1.导入依赖

(1)Eureka

eureka客户端依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

 Eureka服务端依赖:

eureka服务端依赖
<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

  yml文件配置信息,声明该服务是Eureka的服务端依赖 :

server:
  port: 10086
spring:
  application:
    name: eureka-server
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka

关于客户端和服务端,可以简单理解为客户端就是我们的微服务项目,服务端就是注册中心,也就是那个管理服务信息的网站。nacos的服务端是需要下载安装到本地的,所以没有服务端依赖;而Eureka需要单独开一个服务,将其配置为Eureka的服务端。

 (2) Nacos

nacos客户端依赖
<dependency>
     <groupId>com.alibaba.cloud</groupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

 

 2.yml配置微服务客户端信息

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: orderService
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: YinChuan
mybatis:
  type-aliases-package: cn.itcast.user.pojo
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: MM-dd HH:mm:ss:SSS
#eureka:
#  client:
#    service-url:
#      defaultZone: http://127.0.0.1:10086/eureka

#设置同集群优先的负载均衡,拉去服务优先拉去同集群的服务
userService:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则

#配置nacos的命名空间,使服务在一个集群下也能实现环境隔离
#spring:
#  cloud:
#    nacos:
#      server-addr: localhost:8848
#      discovery:
#        cluster-name: HZ
#        namespace: 492a7d5d-237b-46a1-a99a-fa8e98e4b0f9 # 命名空间,填ID

       注册中心有各种规则配置,需要自行去搜索学习配置,或者去官网查看文档,等我看会了,再补充。

3.服务的拉取

 这里使用到的请求框架为RestTemplate,需要在启动类里,注入RestTemplate实例到Spring容器里。

之后在微服务里请求其他微服务


 

4.关于详细的底层负载均衡策略和配置规则,打算单独写一篇博客,后续将博客连接更新到下方。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值