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

怎么自己做网站框架湖州专业网站建设公司

怎么自己做网站框架,湖州专业网站建设公司,电商培训方案,宿迁建站网一、微服务#xff08;容器#xff09;的注册与发现——微服务架构中极其重要的组件 1、定义#xff1a;是一种分布式管理系统以及定位服务的方法。传统架构中#xff0c;应用程序之间直连到已知的服务#xff0c;设备提供的网络#xff08;IP地址#xff09;#xff…一、微服务容器的注册与发现——微服务架构中极其重要的组件 1、定义是一种分布式管理系统以及定位服务的方法。传统架构中应用程序之间直连到已知的服务设备提供的网络IP地址基于TCP/IP协议端口。由于现代微服务部署服务的动态性、数量增加传统的基于IP地址端口的方式已不太适用应运而生服务注册及发现 2、服务注册及发现核心微服务的位置信息IP地址端口服务名称健康状态统一注册到服务注册中心表中可以允许其他服务动态的查询和发现这些服务发现和查询机制 3、工作机制 1服务注册当一个服务启动时会把自己的元数据【IP地址端口服务名称健康状态服务是否在运行】注册到服务注册表consul、zookeeper、云平台中 2服务发现其他服务需要和这个服务通信时只需要向注册表查询服务位置信息IP地址端口这样可以直接在服务注册表中直接获取需要的信息不需要到静态配置查看 注一旦服务停止会从服务注册中心表中移除该服务的所有信息 4、服务注册与发现的优点 1动态性可以在运行时动态添加或移除服务无需额外的人工操作和配置 2弹性一旦某个服务不可用服务注册表会及时更新通知其他服务避免请求失败 3可扩展适应不断变化的服务数量 4透明性服务方调用时前端和后端实现解耦 注服务注册与发现机制和其他工具配合使用例如负载均衡、健康检查、配置管理一键同步 二、consul 1、定义consul是HashiCrop公司开发的一套工具用于实现服务发现与注册、配置管理、分布式系统协调 2、特点 1★服务发现与自动注册保存位置信息IP地址端口服务名称 2★健康检查服务注册到consul一并加入系统的还有其健康状态定期发送一个心跳检查若服务挂了consul会自动解除 3分布式锁consul提供一个分布式锁的功能可协调多个节点之间的操作防止竞争条件和数据冲突 ①创建锁每一个服务的发现与注册都是一个会话session。微服务1注册到consul时consul会和这个服务的会话创建一个锁锁用来表示具体的服务会话和锁之间进行关联 ②获取锁微服务2建立会话获取锁若申请的锁没有被使用客户端成功获取若已存在表示已有其他服务在占用会给该服务分配一个新的锁KV存储 ③释放锁任务完成或服务断开连接会把锁释放删除会话和锁之间的关系删除与锁关联的KV键实现资源释放 4KV存储key-value分布式的键值对存储系统存储配置信息、锁、特性等应用程序可以使用consul的键值对存储来动态的获取配置信息 5多数据中心支持consul可以在多个地域部署可以实现数据中心之间的发现和注册功能 6DNS和HTTP APIconsul支持DNS接口通过域名解析定位服务的位置HTTP API通过API应用接口调用consul的信息服务信息、健康检查等 7事件通知若有关键信息可以随时获取通知 三、一键化自动管理以及自动发现和管理consul-template工具 1、定义用于consul集成自动更新配置文件实现配置管理的自动化 2、作用 ①动态的配置更新consul-template监控consul中的key-value的存储键值对键值对发生变化会自动更新配置文件无需重启服务 ②支持多种后端的模板比如nginx配置、ETCD等 四、容器自动发现与注册、配置实验 主机名 作用 IP地址 组件 docker1 consul服务器 20.0.0.16 consul、docker-ce、nginx二进制、sonsul-template自动发现与自动配置 docker2 registrator服务器 20.0.0.26 运行注册机制和微服务 docker3 consul服务器 20.0.0.36 多节点服务器加入到consul集群中 1、consul部署和服务发现docker1 1安装consul consul agent \ -server \ -bootstrap \ -ui \ -data-dir/var/lib/consul-data \ -bind20.0.0.16 \ -client0.0.0.0 \ -nodeconsul-server01 /var/log/consul.log 2启动consul consul agent 开启监听服务 -server 指定集群当中的服务器节点consul的RAFT算法实现分布式结构中节点的在一致性。集群中的成员直接成为集群的leader后续加入的服务器都是follower -bootstrap 表示该节点是引导节点引导选举过程以及为后续加入的server做引导加入集群 -ui 表示启动图形化界面 -data-dir/var/lib/consul-data consul存储数据的路径 -bind20.0.0.16 服务端绑定的IP地址用于节点通信 -client0.0.0.0 所有主机都可以和server建立通信生产环境中指定IP地址  -nodeconsul-server01 指定consul节点的名称在集群中名称是唯一且不可重复的 /var/log/consul.log 混合重定向输出到/consul.log中 后台运行 3查看consul端口 8300 RAFT协议的端口保持分布式集群的一致性端口处理复制和领导者选举 8301 LAN Gossip的端口局域网内进行节点通信和信息传播的协议 8302 Wan Gossip的端口广域网内进行节点通信和信息传播的协议 8500 web ui的端口用来访问consul的图形化界面 8600 DNS解析的端口 ①查询集群信息 consul members ②查看集群状态 consul operator raft list-peers ③查看集群的server成员 curl 127.0.0.1:8500/v1/status/peers ④查看集群的leader 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 2、自动发现与配置【docker2】 1创建自动注册的容器 docker run -d \ --nameregistrator \ --nethost \ -v /var/run/docker.sock:/tmp/docker.sock \ --restartalways \ gliderlabs/registrator:latest \ --ip20.0.0.26 \ consul://20.0.0.16:8500 docker run -itd -p 81:80 --name test-1 -h test1 nginx docker run -itd -p 82:80 --name test-2 -h test1 httpd --nameregistrator 容器名称 -v /var/run/docker.sock:/tmp/docker.sock docker.sock是docker守护进程的套接字文件把它应色号到容器中registrator容器可以监听docker的所有事件且完成自动注册服务 --ip20.0.0.26 注册在consul的IP地址 consul://20.0.0.16:8500 所有发现的服务都会注册到指定的server节点 2浏览器访问20.0.0.16:8500 3模拟服务停止consul是否能自动移除 docker stop test-2 4恢复服务consul是否会自动发现 5查看集群中已经被注册与发现的服务【docker1】 curl 127.0.0.1:8500/v1/catalog/services 3、自动发现与配置【docker1】 1创建自动化更新nginx配置文件 range service nginx 在这个配置中test1的反向代理的方法会遍历由consul注册的所有服务名称为nginx的服务 server {{.Address}}:{{.Port}} 将发现和注册的nginx服务的IP地址和端口添加到test1的方法中 2编译安装nginx 3虚拟主机创建目录 4解压template源码包 5启动template服务启动后不要按 ctrlc 中止 consul-template 进程 consul-template --consul-addr 20.0.0.16:8500 \ --template /opt/consul/nginx.ctmpl:/usr/local/nginx/conf/vhost/test.conf:/usr/local/nginx/sbin/nginx -s reload \ --log-levelinfo consul-template --consul-addr 192.168.233,40:8500 指定consul的地址告诉consul-template从server节点获取数据 /opt/consul/nginx.ctmpl: 配置文件的模板位置 /usr/local/nginx/vhost/test,conf 基于模板生成配置文件的位置 /usr/local/nginx/sbin/nginx -s reload 只要集群中服务发生变化可以随时更新到配置文件中 --log-levelinfo 设置consul-template的日志级别为info consul是一个中间件nginx服务通过consul-template获取模板反向代理consul-templateconsul来获取服务的IP地址和端口然后nginx调用发现的服务实现负载均衡 4、添加多个consul节点【docker3】 1解压consul源码包 2在集群中添加节点服务器【docker2】 docker run -d --nameregistrator3 -v /var/run/docker.sock:/tmp/docker.sock --restartalways gliderlabs/registrator:latest --ip20.0.0.26 consul://20.0.0.36:8500 3启动consul consul agent-server \ -ui \ -data-dir/var/lib/consul-databind20.0.0.36 \ client0.0.0.0 \ -nodeconsul-server02 \ -enable-script-checkstrue \ -datacenterdc1 \ -join 20.0.0.16  /var/log/consul.log -enable-script-checkstrue 设置检查服务为可用也可以发现原集群中的服务 -datacenterdc1 加入到40的数据中心 -join 192.168.233.40 加入到已有的集群中 4查看集群状态 consul operator raft list-peers 查询集群信息consul members 5脱离集群consul leave
http://www.sadfv.cn/news/168103/

相关文章:

  • p2p理财网站开发流程图企业做app好还是网站好
  • 网站续费 多久昆山建设工程招聘信息网站
  • 站长统计官网开电商网站需要多少钱
  • 可直接打开网站的网页宁波网站建设地方
  • 网站备案期间 权重企业网站html
  • 网站地图什么时候提交好中国移动积分兑换商城官方网站
  • 门户网站 商城系统发外链的论坛网站
  • 做ppt兼职网站有哪些网络服务公共平台
  • wordpress 网店插件seo是付费推广吗
  • wordpress自助建站系统西安到北京高铁多长时间
  • 用国外服务器做网站wordpress获取页面链接
  • 做民宿要给网站多少合同钱joomla建站教程
  • 建设网站所需要的技术餐厅装修设计
  • 福建省两学一做网站湖北响应式网站设计制作
  • 聊城做网站费用价位国外搜索引擎大全百鸣
  • 最好的网站建设公司排名赵艳红网站建设规划
  • 做电子商务网站的公司网页保存至wordpress
  • 在线网站做气泡图红色网站 推荐
  • 网站建设项目报告广东佛山建筑工程有限公司
  • 保险网站源码辛集seo网站优化公司
  • 建设网站公司怎么建站一个店铺的运营方案
  • seo优化销售aso安卓优化
  • go语言网站开发表白网站制作教程
  • 住房与城乡建设部网站网站源码修改后怎么提交
  • php 调试网站什么是品牌型网站
  • 青岛网站建设市场口碑营销5t模型
  • 免费jsp源码分享网站雁塔区建设局网站
  • 昆明做网站优化的公司临沂seo推广
  • 电商网站前端制作分工南昌网站建设58
  • 台州建设信息港网站wordpress地址栏显示ip