signed

QiShunwang

“诚信为本、客户至上”

Nacos搭建服务集群

2021/5/14 20:11:09   来源:

搭建服务集群

1 目标:

  • 搭建服务的集群

2 路径

  • nacos默认支持集群的
    • 要求:只要服务名相同,就可以自动成为集群
    • 条件:需要通过服务名进行访问,需要支持负载均衡

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NCdMgpkB-1620993103602)(assets/image-20210420165407265.png)]

3 实现

  • 修改提供者代码,显示服务器的端口号

    package com.cxxy.changgou4.controller;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.annotation.Resource;
    import javax.servlet.http.HttpServletRequest;
    
    /**
     * @author 桐叔
     * @email liangtong@itcast.cn
     */
    @RestController
    public class EchoController {
    
        // 通过请求对象获得服务器的端口号
        @Resource
        private HttpServletRequest request;
    
        @GetMapping("/echo/{str}")
        public String echo(@PathVariable("str") String str) {
            int serverPort = request.getServerPort();
            return " hello : " + str + " , " + serverPort;
        }
    }
    
    
  • 编写2个启动器,启动提供方

    • 编写含有profile 的yml文件

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-plruOwHx-1620993103608)(assets/image-20210420170235546.png)]

  • 8170.yml文件

server:
  port: 8170

spring:
  application:
    name: service-provider          #服务名
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848   #nacos服务地址
  • 8270.yml文件
server:
  port: 8270

spring:
  application:
    name: service-provider          #服务名
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848   #nacos服务地址
  • 配置启动项,激活profile

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BEsWuuwZ-1620993103611)(assets/image-20210420170325041.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WVWvfObF-1620993103613)(assets/image-20210420170349460.png)]

  • 再启动消费者,访问2次,依次访问8170和8270