当前位置: 首页 > news >正文

如何优化网站内容网站新闻专题怎么做

如何优化网站内容,网站新闻专题怎么做,手机百度网盘登录入口,小企业网站建设平台目录 一、docker-consul概述 1、服务注册和发现#xff1a; 1.1、服务注册和发现概念 1.2、服务注册和发现工作机制#xff1a; 1.3、服务注册与发现的优点#xff1a; 2、docker-consul概念 2.1、consul的主要特点#xff1a; 二、consul架构部署#xff1a; 1、…目录 一、docker-consul概述 1、服务注册和发现 1.1、服务注册和发现概念 1.2、服务注册和发现工作机制 1.3、服务注册与发现的优点 2、docker-consul概念 2.1、consul的主要特点 二、consul架构部署 1、consul服务器配置 1.1、架构三台服务器 1.2、consul安装 1.3、相关端口 2、检查consul集群相关命令 3、集群自动发现和注册 3.1、启动consul server 3.2、检测自动发现和注册 4、配置consul-template 4.1、 准备 template nginx 模板文件 4.2、docker1安装nginx 4.3、配置nginx 4.4、配置并启动 template 4.5、配置并运行template-nginx 4.6、访问template-nginx 5、实现consul的多节点 一、docker-consul概述 1、服务注册和发现 1.1、服务注册和发现概念 什么叫做微服务容器的注册与发现 是一种分布式管理系统定位服务的方法。 在传统的架构中应用程序之间是直连到已知的服务由设备提供的网络IP地址基于tcp/ip协议的端口 由于现代微服务部署服务的动态性数量增加了传统的基于ip端口的形式已经不太适用。所以有了服务注册和发现。 微服务的位置信息ip端口健康状态统一注册到一个中心化的服务注册表中。可以允许其他服务动态的查询和发现这些服务 服务发现和注册时微服务架构中非常重要的组件 1.2、服务注册和发现工作机制 服务注册当一个服务启动时会把自己的元数据ip、端口、服务名称、健康状态注册到服务注册表中。这个注册表的服务consulzookeeper。也可以在云平台部署服务发现其他服务需要和这个服务通信时只需要向注册表查询服务位置信息ip端口这样的话可以直接在服务注册表中直接获取我要的信息不需要到静态配置查看 1.3、服务注册与发现的优点 动态性可以在运行时动态添加和移除服务不需要额外的人工操作和配置。弹性一旦某个服务不可用服务注册表可以及时更新通知其他服务避免请求的失败。可扩展可以适应不断变化的服务数量透明性服务方调用时透明性前端和后端实现解耦 服务注册和发现机制与其他工具配置使用如负载均衡、健康检查、配置管理一键同步 2、docker-consul概念 docker-consul容器的自动发现与注册 docker-consul的核心就是发现微服务可以动态的管理 docker-consul的作用查、看。元数据ip、端口、健康状态、服务名称 consul服务注册和发现工具 consul是HashiCrop公司开发的一套工具用于实现服务发现与注册配置管理分布式的系统协调 2.1、consul的主要特点 服务发现与自动注册位置信息ip端口服务名称健康检查服务注册到consul中一并加入系统的还有他的健康状态定期发送一个心跳检查如果服务挂了consul会自动移除分布式锁consul提供了一个分布式锁的功能协调多个节点之间的操作防止竞争条件和数据冲突 每一个服务的发现与注册都是一个会话session。 创建锁微服务1在注册到consul的时候consul会和服务的会话创建一个锁锁用来标识具体的服务会话和锁之间相关联 获取锁微服务2建立会话获取锁如果申请的锁没有被使用客户端成功获取如果已经存在表示已有其他服务在占用会给你分配一个新的锁KV存储 释放锁任务完成或者服务断开了连接会把锁释放删除会话和锁之间的关系。删除与锁关联的键。实现资源的释放 KV存储key-value分布式键值对存储系统存储配置信息、锁、特性等。应用程序可以使用consul的键值对信息来动态的获取配置信息多数据中心支持consul可以在多个地域部署可以实现数据中心之间的发现和注册功能。DNS和http的APIconsul支持DNS接口通过域名解析定位服务的位置。http api通过api应用接口可以调用consul的信息服务信息健康检查等事件通知如果关键信息可以随时获取通知。 二、consul架构部署 1、consul服务器配置 1.1、架构三台服务器 consul服务器Docker120.0.0.51 consul Docker-ce nginx二进制部署 consul-template自动发现和部署 registrator服务器Docker2:20.0.0.52 运行注册机制和微服务容器服务 consul服务器多节点服务器 Docker3 20.0.0.28加入到consul集群中 1.2、consul安装 consul agent \ -server \ -bootstrap \ -ui \ -data-dir/var/lib/consul-data \ -bind20.0.0.51 \ -client0.0.0.0 \ -nodeconsul-server01 /var/log/consul.log consul agent开启监听服务 -server指定集群中的服务器节点consul的RAFT算法实现分布式结构中节点的一致性。集群的成员直接成为集群的leader后续加入的服务器都是follower -bootstrap表示该节点是引导节点引导选举过程以及为后续加入的server做引导加入集群 -ui启动图形化界面 -data-dir/var/lib/consul-dataconsul存储数据的路径 -bind20.0.0.51服务器绑定的IP地址节点中通信 -client0.0.0.0客户端的地址所有主机都可以server建立通信生产中是指定的服务器 -nodeconsul-server01指定consul节点的名称在集群中consul节点的名称都是唯一的不可重复/var/log/consul.log混合重定向输出到consul.log 后台运行 1.3、相关端口 8300RAFT协议端口保持分布式集群的一致性端口处理复制和领导者选举 8301LAN Gossip的端口局域网内部进行节点通信和信息传播的协议 8302WAN Gossip的端口广域网内部节点的通信和信息传播协议 8500web ui的端口用来访问consul的图形化界面 8600DNS解析端口 2、检查consul集群相关命令 consul members 集群信息 consul operator raft list-peers 查看集群状态 curl 127.0.0.1:8500/v1/status/peers 查看集群的server成员 curl 127.0.0.1:8500/v1/status/leader 查看集群的领导者 curl 127.0.0.1:8500/v1/catalog/services 查看已经被集群发现和注册的服务 curl 127.0.0.1:8500/v1/catalog/nodes 查看集群节点的详细信息 3、集群自动发现和注册 3.1、启动consul server docker run -d \ --nameregistrator \ -v /var/run/docker.sock:/tmp/docker.sock \ --restartalways \ gliderlabs/registrator:latest \ --ip20.0.0.52 \ consul://20.0.0.51:8500 -v /var/run/docker.sock:/tmp/docker.sock 指定挂载卷 docker.sock是docker守护进程的Unix的套接字文件把他映射到容器当中registrator容器可以监听docker的所有事件并且完成自动注册服务 --ip20.0.0.52注册在consul的IP地址 consul://20.0.0.51:8500 所有发现的服务都会注册到指定的server节点 3.2、检测自动发现和注册 docker run -itd -p 81:80 --name test-1 -h test1 nginx docker run -itd -p 82:80 --name test-2 -h test2 httpd docker run -itd -p 83:80 --name test-3 -h test3 nginx -h指定容器里的主机名 去浏览器访问consul 20.0.0.51:8500 查看被监测的节点 consul-template实现配置管理自动化 用于consul集成自动更新配置文件实现噢诶之管理的自动化 作用 1、动态的配置更新。consul-template监听consul中key-value的存储键值对键值对发生变化会自动的更新配置文件无需重启服务 2、支持多种后端的模版nginx配置、ETCD等等 4、配置consul-template consul-template 自动化管理配置文件的工具获取consul中注册的服务信息可以自动的添加到配置文件中即使生效无需重启服务 做到自动化更新配置文件 4.1、 准备 template nginx 模板文件 vim /opt/consul/nginx.ctmpl upstream test1 {{{range service nginx}}server {{.Address}}:{{.Port}};{{end}} }server {listen 8000;server_name localhost 20.0.0.51;access_log /var/log/nginx/test1-access.log;index index.html index.php;location / {proxy_set_header HOST $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Client-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://http_backend; } } 在这个配置当中test1的反向代理的方法会遍历由consul注册的所有服务名称为nginx的服务 server {{.Address}}:{{.Port}};  将发现和注册的nginx服务的IP地址和端口添加到test1的upstream方法当中 4.2、docker1安装nginx 1、安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c make2、创建运行用户 useradd -M -s /sbin/nologin nginx3、编译安装 cd /opt tar zxvf nginx-1.22.0.tar.gz -C /opt/cd nginx-1.22.0/ ./configure \ --prefix/usr/local/nginx \ --usernginx \ --groupnginx \ --with-http_stub_status_modulemake make install4、优化路径 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/5、添加 Nginx 系统服务 vim /lib/systemd/system/nginx.service [Unit] Descriptionnginx Afternetwork.target [Service] Typeforking PIDFile/usr/local/nginx/logs/nginx.pid ExecStart/usr/local/nginx/sbin/nginx ExecReload/bin/kill -s HUP $MAINPID ExecStop/bin/kill -s QUIT $MAINPID PrivateTmptrue [Install] WantedBymulti-user.targetchmod 754 /lib/systemd/system/nginx.service systemctl start nginx.service 启动nginx 查看端口 4.3、配置nginx 改nginx的配置文件 18行 创建虚拟主机目录 mkdir /usr/local/nginx/conf/vhost 创建日志文件目录 mkdir /var/log/nginx 停止nginx nginx -s stop 启动nginx nginx 4.4、配置并启动 template unzip consul-template_0.19.3_linux_amd64.zip -d /opt/ cd /opt/ mv consul-template /usr/local/bin/ 4.5、配置并运行template-nginx docker1运行template consul-template --consul-addr 20.0.0.51:8500 \ --template /opt/consul/nginx.ctmpl:/usr/local/nginx/conf/vhost/test.conf:/usr/local/nginx/sbin/nginx -s reload \ --log-levelinfoconsul-template --consul-addr 20.0.0.51:8500 指定consul的地址告诉 consul-template从server节点获取数据 template /opt/consul/nginxctmpl:/usr/local/nginx/vhost/test.conf:/usr/local/nginx/sbin/nginx -s reload /opt/consul/nginx.ctmpl配置文件的模版位置 /usr/local/nginx/vhost/test.conf基于模版生成配置文件的位置 /usr/local/nginx/sbin/nginx -s reload 只要集群中服务发生变化可以随时更新到配置文件中 --log-levelinfo 设置consul-template的日志级别为info 开个docker1终端看日志 var/log/consul.log consul是一个中间件nginx服务通过consul-template获取模版反向代理consul-template——consul来获取注册服务的ip和端口然后nginx调用nginx调用发现的服务来实现负载均衡 template——本机nginx——调用容器nginx实现负载均衡 4.6、访问template-nginx docker exec -it test-1 bash echo this is test1 web /usr/share/nginx/html/index.htmldocker exec -it test-3 bash echo this is test2 web /usr/share/nginx/html/index.html 浏览器访问http://20.0.0.51:8000/ 并不断刷新。实现轮询 自动生成的配置文件在 /usr/local/nginx/conf/vhost/test.conf 5、实现consul的多节点 consul的多节点一旦选举出了leader后续的服务器都是follower。server的名称不能重复唯一但是在一个数据中心上 docker3安装consul docker3添加到consul集群中去 consul agent \ -server \ -ui \ -data-dir/var/lib/consul-data \ -bind20.0.0.28 \ -client0.0.0.0 \ -nodeconsul-server02 \ -enable-script-checkstrue \ -datacenterdc1 \ -join 20.0.0.51 /var/log/consul.log -enable-script-checkstrue \ 设置检查服务为可用他也可以发现原集群当中的服务 -datacenterdc1 \ 加入到docker1的数据中心 -join 20.0.0.51加入到已有的集群中 consul members consul operator raft list-peers 在docker2上执行 让docker3也监控docker2上的容器 docker run -d \--nameregistrator2 \-v /var/run/docker.sock:/tmp/docker.sock \--restartalways \gliderlabs/registrator:latest \--ip20.0.0.52 \consul://20.0.0.28:8500浏览器consul查看 http://20.0.0.51:8500/ 脱离集群 consul leave
http://www.pierceye.com/news/464624/

相关文章:

  • 沈阳网站建设设计企业网站设计与管理系统
  • 婚纱照网站制作梁山网站建设价格
  • 做现货去哪些网站营销好呢网站 服务报价
  • 网站建设渠道做网站前端和平面配合
  • 北京交友最好的网站建设wordpress 移动支付宝
  • 2015百度推广网站遭到攻击非遗网页设计作品欣赏
  • 网站空间需要多大网站推荐几个免费的
  • 做一个网站花多少钱建行系统
  • 滁州市住房城乡建设部网站wordpress title背景
  • 餐饮手机微网站怎么做wordpress 多语言建站
  • 企业信息系统案例东昌府聊城网站优化
  • 做美食直播哪个网站好php网站开发数据列表排重
  • 网站建设 职责网站分站加盟
  • 单页网站产品手机网站免费生成
  • 无锡电子商务网站建设公司德国网站的后缀名
  • 服务器做视频网站赣州企业做网站
  • 如何看出网站用dede做的网站百度快照
  • 做网站很难吗五种新型营销方式
  • 个人网站搭建模拟感想江西企业网站建设哪家好
  • 长春企业网站建设网站制作公司相关工作
  • 免费课程网站有哪些兼职网站项目建设报告
  • 建立网站免费dedecms网站地图制作
  • 网页设计公司网站制作做网站最主要是那个一类商标
  • 卫生局网站建设方案网站架构设计英文翻译
  • 学做衣服网站有哪些智能开发平台软件
  • wordpress 下载站插件wordpress清楚所有评论
  • 公司网站建设工作计划网站设置受信任
  • 网站如何做实名验证码深圳企业网站推广
  • 傻瓜式大型网站开发工具餐饮业手机php网站
  • 网站建设小细节图片东阳网站建设yw126