首页 > 其他分享 >Nacos2.0.3集群搭建踩坑

Nacos2.0.3集群搭建踩坑

时间:2023-10-27 17:25:55浏览次数:35  
标签:Nacos2.0 端口 server nginx 集群 proxy timeout 9848 搭建

Nacos2.0版本相比1.X新增了gRPC的通信方式,如果已经有Nacos集群,那么需要更改集群的配置方式,这里以Nginx为例,来介绍下如何搭建集群。

配置流程

新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。

端口 与主端口的偏移量 描述
9848 1000 客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
9849 1001 服务端gRPC请求服务端端口,用于服务间同步等

假设我们Nacos的服务端口为8848,那么客户端gRPC与服务端进行交互时,会使用9848端口,所以我们必须转发这个9848端口。在转发该端口时,注意使用stream方式,这就要求nginx在编译时,必须有--with-stream,使用nginx -V来查看编译配置:

[root@173-16-200-97 sbin]# ./nginx -V
nginx version: nginx/1.15.6
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
configure arguments: --prefix=/usr/local/nginx --with-pcre=/usr/local/nginx/pcre-8.42 --with-zlib=/usr/local/nginx/zlib-1.2.11 --with-openssl=/usr/local/nginx/openssl-1.1.1a --with-stream --add-module=/usr/local/nginx/ngx_healthcheck_module-master

检查完Nginx信息后,我们先来配置转发9848端口:

stream {
    upstream NACOS_ADDR_9848 {
      server 173.16.200.98:9848 max_fails=3 fail_timeout=30s;
      server 173.16.200.99:9848 max_fails=3 fail_timeout=30s;
      server 173.16.200.115:9848 max_fails=3 fail_timeout=30s;
    }

    server {
      listen 9848 so_keepalive=on;
      proxy_connect_timeout 3s;
      proxy_pass NACOS_ADDR_9848;
      tcp_nodelay on;
      proxy_buffer_size 32k;
    }
}


接着配置转发8848端口,使用http配置就可以:

http {
    upstream NACOS {
       server 173.16.200.98:8848 max_fails=3 fail_timeout=5s;
       server 173.16.200.99:8848 max_fails=3 fail_timeout=5s;
       server 173.16.200.115:8848 max_fails=3 fail_timeout=5s;
    }
    
    server {
        listen 8848;
        server_name 173.16.200.97;
        location / {
             proxy_pass http://NACOS;
             proxy_connect_timeout 75;
             proxy_read_timeout 400;
             proxy_send_timeout 400;
             client_max_body_size 100m;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $remote_addr;
        }
    }

}

遇到的问题

  1. 应用启动报:UNAVAILABLE: Network closed for unknown reason

报这个错是由于没有转发9848端口,转发9848端口即可

  1. Nacos服务是2.0.3,客户端是1.x版本,是否可以使用?

Nacos服务端可以兼容1.x版本的客户端,只不过不会走gRPC模式,建议生产环境服务端与客户端一致

标签:Nacos2.0,端口,server,nginx,集群,proxy,timeout,9848,搭建
From: https://www.cnblogs.com/mingshan/p/17792806.html

相关文章

  • 潮玩宇宙app系统搭建成品问题
      潮玩宇宙app游戏软件一经出现后,就有不少的客户加入,潮玩宇宙游戏玩法模式有潮玩文化,动漫卡通,玩具收藏为一体的综合性游戏玩法。软件在开发过程中,也会因为成品的问题错误。  问题一:软件体验不佳  在潮玩宇宙中,发现用户对潮玩的体验挑战,用户的界面设计不友好,操作流程......
  • Docker部署Redis集群----第一节(docker初认识)
    1、Docker是什么?docker是开源的应用容器引擎,我们可以理解为一个轻量级的“虚拟机”,开发者可以打包自己开发的应用或程序到一个可移植的容器中去,然后发布到任何流行的linux机器上,由此可见docker为我们的开发和部署带来了极大的方便和稳定性,我们还有什么理由错误它呢?2、为什么要......
  • 搭建jenkins实现自动化部署
    一、安装jenkins1、添加yumrepos,然后安装sudowget-O/etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat/jenkins.reposudorpm--importhttps://pkg.jenkins.io/redhat/jenkins.io.key注:如果上边的执行成功就不用再执行这两行了sudowget-O/etc/yum.repos.d/j......
  • 怎么用Python写一个浏览器集群框架
    这是做什么用的框架用途在采集大量新闻网站时,不可避免的遇到动态加载的网站,这给配模版的人增加了很大难度。本来配静态网站只需要两个技能点:xpath和正则,如果是动态网站的还得抓包,遇到加密的还得js逆向。所以就需要用浏览器渲染这些动态网站,来减少了配模板的工作难度和技能要求......
  • SpringCloud微服务多应用脚手架的搭建与部署
    最近几年SpringBoot大热,很多IT公司都开始采用SpringBoot来替换传统的SpringMVC项目。那么如何搭建一个适合开发的项目架构呢?这里我主要介绍Java程序员使用最多的两种工具进行搭建:1、MyEclipse;2、ideaMyEclipse第一步:打开MyEclipse,选择File—>New—>Other,搜索maven,点击next 第二步:......
  • 彩虹云商城搭建 自动发卡搭建
     彩虹云商城源码自动发卡搭建  演示 http://www.yundingxt.com:7003/ 彩红易支付自动发卡程序 联系WX:app1008610010   ......
  • CentOS搭建内网KMS服务器
    1.yum换源[root@cwc~]#cd/etc/yum.repos.d/[[email protected]]#mkdirback[[email protected]]#mvCentOS-Linux-*back/[[email protected]]#wget-O/etc/yum.repos.d/CentOS-Linux-BaseOS.repohttps://mirrors.aliyun.com/repo/Centos-8.repo[root@cwc......
  • Redis 7.0 源码环境搭建与阅读技巧
    天下武功,无坚不摧,唯快不破!我的名字叫Redis,全称是RemoteDictionaryServer。有人说,组CP,除了要了解她外,还要给机会让她了解你。那么,作为开发工程师的你,是否愿意认真阅读此心法抓住机会来了解我,运用到你的系统中提升性能。我遵守BSD协议,由意大利人SalvatoreSanfilippo......
  • Elasticsearch 系列(一)- 环境搭建
    本章将和大家分享在Windows系统上如何搭建Elasticsearch的开发环境。话不多说,下面我们直接进入主题。一、安装Java的JDKElasticsearch其中最主要的开发语言就是 Java,所以我们在安装Elasticsearch之前,首先需要安装的就是Java的JDK,此处我选择安装的版本是JDK17。J......
  • django全体系0基础到高手4大体系50页md知识总结:第1章,从0到1django项目搭建
    当你考虑开发现代化、高效且可扩展的网站和Web应用时,Django是一个强大的选择。Django是一个流行的开源PythonWeb框架,它提供了一个坚实的基础,帮助开发者快速构建功能丰富且高度定制的Web应用完整版笔记直接地址:请移步这里共10章,31子模块,总计18647字Django框架主要内......