第一步:安装centos7的基础环境
yum install netstat netstat -ntlp ps -ef 可选:[ | grep nginx] kill -9 pid进程号 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum update yum install -y yum-utils device-mapper-persistent-data lvm2 yum install gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel yum install wget yum install unzip
第二步:安装consul
wget -c https://releases.hashicorp.com/consul/1.8.5/consul_1.8.5_linux_amd64.zip upzip unzip consul_1.8.5_linux_amd64.zip systemctl stop firewalld nohup ./consul agent -dev -ui -node=consul-dev -client=192.168.254.134 & 192.168.254.134:8500 jobs -l kill -9 19854
第三步:安装nginx 并添加upsync模块
wget -c https://github.com/weibocom/nginx-upsync-module/archive/master.zip unzip nginx-upsync-module-master.zip wget -c http://nginx.org/download/nginx-1.9.9.tar.gz tar -zxvf nginx-1.9.9.tar.gz groupadd nginx useradd -g nginx -s /sbin/nologin nginx mkdir -p /var/tmp/nginx/client/ mkdir -p /usr/local/nginx cd nginx-1.9.9 ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre --add-module=../nginx-upsync-module-master make && make install upstream myserver { server 127.0.0.1:11111; upsync 192.168.254.134:8500/v1/kv/upstreams/springbootserver upsync_timeout=3000ms upsync_interval=500ms upsync_type=consul strong_dependency=off; upsync_dump_path /usr/local/nginx-1.9.9/conf/upsync_dump.conf; } location / { proxy_pass http://myserver; index index.html index.htm; } ./nginx
第四步:进行测试
curl -X PUT http://192.168.254.134:8500/v1/kv/upstreams/springbootserver/192.168.0.116:8080 curl -X PUT http://192.168.254.134:8500/v1/kv/upstreams/springbootserver/192.168.0.116:8081 http://192.168.254.134:8500/v1/kv/upstreams/springbootserver/192.168.0.116:808
第五步:在consul图形化页面添加key对应的value来指定负载均衡的算法
{"weight":1, "max_fails":2, "fail_timeout":10, "down":0}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/127613.html
摘要:实现无需动态负载均衡实现无需动态负载均衡环境搭建出现下面提示说明成功启动是新浪微博开源的基于实现动态配置的三方模块。配置动态负载均衡创建指定从拉取的上游服务器后持久化到的位置,这样即使服务器出问题了,本地还有一个备份。 方案 传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件,因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upstrea...
摘要:接入层作用一的聚合。接入层作用二服务发现与动态负载均衡既然统一的入口变为了接入层,则接入层就有责任自动的发现后端拆分,聚合,扩容,缩容的服务集群,当后端服务有所变化的时候,能够实现健康检查和动态的负载均衡。 此文已由作者刘超授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 这个系列是微服务高并发设计,所以我们先从最外层的接入层入手,看都有什么样的策略保证高并发。...
摘要:是一个相对比较新的微服务框架,年才推出的版本虽然时间最短但是相比等框架提供的全套的分布式系统解决方案。提供线程池不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务器雪崩的问题。通过互相注册的方式来进行消息同步和保证高可用。 Spring Cloud 是一个相对比较新的微服务框架,...
摘要:前两个数据业务相关的服务即下图的,第三个项目就是的实现的负载均衡。这里后台,前台项目各启动了三个实例,用户访问的时候,就会根据配置的负载均衡的策略,访问其中一个。这一部分与之前我转发的实现服务发现及网关其实也只是差了个网关和负载均衡。 一.简介 上一篇只讲了博客的前端问题,这一篇讲一下后端的微服务搭建。项目的后端使用的thinkjs框架,在我之前的博客中已经写过,这里就不重点说明了。后...
摘要:前两个数据业务相关的服务即下图的,第三个项目就是的实现的负载均衡。这里后台,前台项目各启动了三个实例,用户访问的时候,就会根据配置的负载均衡的策略,访问其中一个。这一部分与之前我转发的实现服务发现及网关其实也只是差了个网关和负载均衡。 一.简介 上一篇只讲了博客的前端问题,这一篇讲一下后端的微服务搭建。项目的后端使用的thinkjs框架,在我之前的博客中已经写过,这里就不重点说明了。...
阅读 297·2022-10-27 16:37
阅读 265·2022-10-27 16:31
阅读 289·2022-10-27 15:33
阅读 372·2022-10-27 15:12
阅读 397·2022-10-26 16:47
阅读 510·2022-10-25 18:04
阅读 856·2022-10-25 17:50
阅读 380·2022-10-16 17:42