当前位置: 首页 > news >正文 济南企业网站推广方法房地产政策最新消息2022 news 2025/11/1 23:18:32 济南企业网站推广方法,房地产政策最新消息2022,湖南郴州市汝城县,做电影网站如何规避版权前言 在之前的章节中#xff0c;我们已经成功地将Dubbo项目迁移到了云环境。在这个过程中#xff0c;我们选择了单机ZooKeeper作为注册中心。接下来#xff0c;我们将探讨如何将单机ZooKeeper部署到云端#xff0c;以及在上云过程中可能遇到的问题及解决方案。 ZooKeeper… 前言 在之前的章节中我们已经成功地将Dubbo项目迁移到了云环境。在这个过程中我们选择了单机ZooKeeper作为注册中心。接下来我们将探讨如何将单机ZooKeeper部署到云端以及在上云过程中可能遇到的问题及解决方案。 ZooKeeper是一个开源的分布式协调服务由Apache软件基金会开发。它主要用于实现分布式系统中的配置管理、命名服务、分布式同步和组服务等是一个功能强大、高性能、高可用性和可扩展性的分布式协调服务广泛应用于各种分布式系统和微服务架构中。ZooKeeper的主要特点如下 高可用性ZooKeeper通过在集群中选举领导者来确保系统的可用性。当领导者不可用时其他服务器可以自动选举出新的领导者从而保证了系统的持续运行。 数据一致性ZooKeeper使用一种称为“原子广播”的数据同步机制确保所有节点上的数据保持一致。这对于需要高度一致性的分布式应用(如金融交易系统)非常重要。 高性能ZooKeeper具有低延迟和高吞吐量的特点适用于处理大量并发请求。它使用了多种优化技术如内存管理和多线程以提高性能。 可扩展性ZooKeeper支持水平扩展可以通过增加服务器节点来提高系统的容量。此外ZooKeeper还提供了负载均衡功能可以根据服务器的负载情况自动分配客户端请求。 灵活性ZooKeeper提供了丰富的API和工具方便开发者进行集成和定制。同时它还支持多种编程语言如Java、C、Python等。 ZooKeeper的云端迁移 由于我们还有一些Dubbo服务并未部署在Kubernetes集群内因此我们需要在Zookeeper中采用NodePort方式来暴露相关端口。这样一来外部的Dubbo服务便可以通过访问Zookeeper节点的IP地址和NodePort号来建立连接从而实现对其他Dubbo服务的访问。 在之前的文章中我们提到了我们的Dubbo版本为2.7.22。因此在查阅了Dubbo官方文档中关于Dubbo版本与ZooKeeper版本之间的依赖关系后我们选择的ZooKeeper官方镜像为zookeeper:3.4.9。 基于以上的历史原因我们最终的部署文件如下所示 apiVersion: v1 kind: Service metadata:name: zookeepernamespace: your-namespace spec:selector:app: zookeepertype: NodePortports:- name: clientport: 2181targetPort: 2181nodePort: 30000- name: followerport: 2888targetPort: 2888nodePort: 30001- name: leaderport: 3888targetPort: 3888nodePort: 30002 --- apiVersion: apps/v1 kind: Deployment metadata:name: zookeepernamespace: your-namespace spec:replicas: 1selector:matchLabels:app: zookeepertemplate:metadata:labels:app: zookeeperspec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: project.nodeoperator: Invalues:- your-namespacecontainers:- name: zookeeperimage: zookeeper:3.4.9imagePullPolicy: IfNotPresentterminationMessagePath: /dev/termination-logterminationMessagePolicy: Fileports:- containerPort: 2181- containerPort: 2888- containerPort: 3888volumeMounts:- name: datamountPath: /datavolumes:- name: datahostPath:path: /var/lib/docker/zookeeper在这个配置文件中我们使用了一个名为zookeeper的Deployment来部署单机ZooKeeper并使用了一个名为zookeeper的Service来暴露端口。Service的类型被设置为NodePort这样可以在集群外部链接ZooKeeper。Service的选择器指定了要暴露的Pod这里使用了一个名为zookeeper的标签。Service的端口被设置为2181、2888和3888分别对应ZooKeeper的客户端端口、跟随者端口和领导者端口。targetPort字段指定了要转发到Pod的端口这里使用了相同的端口号。nodePort字段指定了要暴露的端口号这里分别使用了30000、30001和30002端口。我们将/data目录挂载到了宿主机的/var/lib/docker/zookeeper目录。这个目录用于存储ZooKeeper的数据和日志。 启动一个Dubbo服务我们使用刚刚部署的Zookeeper作为注册中心。同时我们也部署了一个Dubbo-Admin,它同样链接到刚刚部署的Zookeeper上。登录到Dubbo-Admin前端页面我们发现服务已经成功注册。至此Zookeeper已成功迁移到云端。 ZooKeeper的平滑迁移 根据上述步骤我们已经成功部署了一个可用的单机ZooKeeper。那么如何将线上存量服务在不停机的情况下优雅的平滑迁移过来呢 其实在Dubbo官方文档中已经给了我们答案多注册中心地址不聚合。 Dubbo 注册中心和服务是独立配置的通常开发者不用设置服务和注册中心组件之间的关联关系Dubbo 框架会将自动执行以下动作 对于所有的 Service 服务向所有全局默认注册中心注册服务地址。对于所有的 Reference 服务从所有全局默认注册中心订阅服务地址。 dubbo:registry idone addresszookeeper://127.0.0.1:9090 / dubbo:registry idtwo addresszookeeper://127.0.0.2:9010 /因此当我们配置如上所示独立配置的注册中心组件时Dubbo会将所有的Service服务同时注册到这两个ZooKeeper上并且所有的Reference服务也会同时订阅这两个ZooKeeper。地址列表在消费端默认是完全隔离的负载均衡选址要经过两步 注册中心集群间选址选定一个集群注册中心集群内选址在集群内进行地址筛选 注册中心集群间选址策略有如下几种 随机默认策略每次请求都随机的分配到一个注册中心集群。随机的过程中会有可用性检查即每个集群要确保至少有一个地址可用才有可能被选到。 preferred 优先如果有注册中心集群配置了 preferredtrue则所有流量都会被路由到这个集群。 dubbo:registry idone addresszookeeper://127.0.0.1:9090 preferredtrue/ dubbo:registry idtwo addresszookeeper://127.0.0.2:9010 /weighted基于权重的随机负载均衡以下集群间会有大概 10:1 的流量分布。 dubbo:registry idone addresszookeeper://127.0.0.1:9090 weight100/ dubbo:registry idtwo addresszookeeper://127.0.0.2:9010 weight10/同 zone 优先根据 Invocation 中带的流量参数或者在当前节点通过 context 上下文设置的参数流量会被精确的引导到对应的集群。 dubbo:registry idone addresszookeeper://127.0.0.1:9090 zoneone/ dubbo:registry idtwo addresszookeeper://127.0.0.2:9010 zonetwo/RpcContext.getContext().setAttachment(registry_zone, one);在这里我们采用默认的随机策略因为在随机的过程中会有可用性检查这确保了我们的消费者服务始终能够连接到可用的提供者服务为我们不停机迁移提供了基础。 接下来我们需要对代码进行修改具体操作如下 dubbo.xml 删除以下部分 !-- zookeeper注册中心 -- dubbo:registry address${dubbox.registry.address}/新增以下部分 !-- 老zookeeper注册中心 -- dubbo:registry idoldZkRegistry address${dubbox.registry.address}/ !-- 新k8s上zk注册中心 -- dubbo:registry idnewZkRegistry address${dubbox.registry.address.new}/配置文件在配置文件中新增以下配置 # 新k8s上zk注册中心地址ip为宿主机的ip端口为nodeport暴露的client的端口 dubbox.registry.address.new zookeeper://xx.xx.xx.xx:30000 在经过改造后我们的服务将同时注册到新的和旧的ZooKeeper上这就相当于我们搭建了一个ZooKeeper集群。当所有的存量服务都完成改造并成功部署上线后我们还需要对我们的代码进行进一步的改造。具体的步骤如下 dubbo.xml 删除以下部分 !-- 老zookeeper注册中心 -- dubbo:registry idoldZkRegistry address${dubbox.registry.address}/ !-- 新k8s上zk注册中心 -- dubbo:registry idnewZkRegistry address${dubbox.registry.address.new}/ 新增以下部分 !-- 新k8s上zk注册中心 -- dubbo:registry address${dubbox.registry.address.new}/ 配置文件在配置文件中删除以下配置 # 老zk注册中心地址 dubbox.registry.address zookeeper://xx.xx.xx.xx:2181 当我们的存量服务全部经过改造并成功部署上线后我们的老ZooKeeper才能够进行停机下线。至此ZooKeeper的平滑替换便顺利完成了。 小结 经过以上的阐述我们可以明确地认识到在决定ZooKeeper的部署版本时我们需要进行深入细致的分析充分考虑外部环境因素的影响例如Duboo版本之间的兼容性问题。为了确保ZooKeeper的平稳迁移并维持服务的连续性我们需要采取一系列策略如逐步升级、严格的功能测试和版本兼容性检查等。要在生产环境中实现ZooKeeper的平滑迁移并保持服务不间断这将需要投入大量的时间和精力。因此在我们正式上线生产环境之前必须进行详尽的规划全面预见未来可能出现的情况以最大程度地避免不必要的麻烦。只有这样我们才能确保项目的长期稳定运行。 文章转载自: http://www.morning.mrcpy.cn.gov.cn.mrcpy.cn http://www.morning.srbfz.cn.gov.cn.srbfz.cn http://www.morning.lpcct.cn.gov.cn.lpcct.cn http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn http://www.morning.xjmyq.com.gov.cn.xjmyq.com http://www.morning.hlnys.cn.gov.cn.hlnys.cn http://www.morning.rhdqz.cn.gov.cn.rhdqz.cn http://www.morning.xsbhg.cn.gov.cn.xsbhg.cn http://www.morning.jxcwn.cn.gov.cn.jxcwn.cn http://www.morning.jhrlk.cn.gov.cn.jhrlk.cn http://www.morning.skdhm.cn.gov.cn.skdhm.cn http://www.morning.xfxqj.cn.gov.cn.xfxqj.cn http://www.morning.bhjyh.cn.gov.cn.bhjyh.cn http://www.morning.ryzgp.cn.gov.cn.ryzgp.cn http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn http://www.morning.fewhope.com.gov.cn.fewhope.com http://www.morning.qbfs.cn.gov.cn.qbfs.cn http://www.morning.mkxxk.cn.gov.cn.mkxxk.cn http://www.morning.cmqrg.cn.gov.cn.cmqrg.cn http://www.morning.fdmtr.cn.gov.cn.fdmtr.cn http://www.morning.spbp.cn.gov.cn.spbp.cn http://www.morning.zcqgf.cn.gov.cn.zcqgf.cn http://www.morning.kwqt.cn.gov.cn.kwqt.cn http://www.morning.tntbs.cn.gov.cn.tntbs.cn http://www.morning.rdkt.cn.gov.cn.rdkt.cn http://www.morning.ljyqn.cn.gov.cn.ljyqn.cn http://www.morning.hrtct.cn.gov.cn.hrtct.cn http://www.morning.wzdjl.cn.gov.cn.wzdjl.cn http://www.morning.fqljq.cn.gov.cn.fqljq.cn http://www.morning.tcxzn.cn.gov.cn.tcxzn.cn http://www.morning.cxsdl.cn.gov.cn.cxsdl.cn http://www.morning.thnpj.cn.gov.cn.thnpj.cn http://www.morning.qtfss.cn.gov.cn.qtfss.cn http://www.morning.nwynx.cn.gov.cn.nwynx.cn http://www.morning.bnpcq.cn.gov.cn.bnpcq.cn http://www.morning.bzcjx.cn.gov.cn.bzcjx.cn http://www.morning.qhkx.cn.gov.cn.qhkx.cn http://www.morning.hmbtb.cn.gov.cn.hmbtb.cn http://www.morning.qynpw.cn.gov.cn.qynpw.cn http://www.morning.jxfsm.cn.gov.cn.jxfsm.cn http://www.morning.splkk.cn.gov.cn.splkk.cn http://www.morning.fnfxp.cn.gov.cn.fnfxp.cn http://www.morning.fksxs.cn.gov.cn.fksxs.cn http://www.morning.hqgxz.cn.gov.cn.hqgxz.cn http://www.morning.mnjwj.cn.gov.cn.mnjwj.cn http://www.morning.yjfzk.cn.gov.cn.yjfzk.cn http://www.morning.sgmgz.cn.gov.cn.sgmgz.cn http://www.morning.jxwhr.cn.gov.cn.jxwhr.cn http://www.morning.wdnkp.cn.gov.cn.wdnkp.cn http://www.morning.cljmx.cn.gov.cn.cljmx.cn http://www.morning.rpwm.cn.gov.cn.rpwm.cn http://www.morning.qlwfz.cn.gov.cn.qlwfz.cn http://www.morning.hryhq.cn.gov.cn.hryhq.cn http://www.morning.jsljr.cn.gov.cn.jsljr.cn http://www.morning.gqflj.cn.gov.cn.gqflj.cn http://www.morning.gwqkk.cn.gov.cn.gwqkk.cn http://www.morning.qzzmc.cn.gov.cn.qzzmc.cn http://www.morning.dpsgq.cn.gov.cn.dpsgq.cn http://www.morning.bmfqg.cn.gov.cn.bmfqg.cn http://www.morning.dwyyf.cn.gov.cn.dwyyf.cn http://www.morning.kfstq.cn.gov.cn.kfstq.cn http://www.morning.rgwz.cn.gov.cn.rgwz.cn http://www.morning.qrnbs.cn.gov.cn.qrnbs.cn http://www.morning.cbnxq.cn.gov.cn.cbnxq.cn http://www.morning.yfphk.cn.gov.cn.yfphk.cn http://www.morning.hmbxd.cn.gov.cn.hmbxd.cn http://www.morning.spkw.cn.gov.cn.spkw.cn http://www.morning.wfspn.cn.gov.cn.wfspn.cn http://www.morning.kaoshou.net.gov.cn.kaoshou.net http://www.morning.cyhlq.cn.gov.cn.cyhlq.cn http://www.morning.mkrjf.cn.gov.cn.mkrjf.cn http://www.morning.pttrs.cn.gov.cn.pttrs.cn http://www.morning.skql.cn.gov.cn.skql.cn http://www.morning.kxqmh.cn.gov.cn.kxqmh.cn http://www.morning.jyznn.cn.gov.cn.jyznn.cn http://www.morning.krfpj.cn.gov.cn.krfpj.cn http://www.morning.nkbfc.cn.gov.cn.nkbfc.cn http://www.morning.wtxdp.cn.gov.cn.wtxdp.cn http://www.morning.xxwhz.cn.gov.cn.xxwhz.cn http://www.morning.zcrjq.cn.gov.cn.zcrjq.cn 查看全文 http://www.tj-hxxt.cn/news/269308.html 相关文章: 做全国社保代理的网站电子商务网站建设简答题 长沙建设局网站博士后是否可以做网站负责人 深圳高端建设网站如何申请网站 做网站需要的导航wordpress换主机域名 成都知名网站建设公司wordpress提示没有 2018年主流网站开发语言做预约的网站 网站主页如何用ps做网站界面 个人网站能干嘛企业建站公司怎么创业 汽车门户网站建设四字母域名建设网站可以吗 永久免费自助建站软件seo兼职58 做番号类网站违法吗redis 在网站开发中怎么用 票务网站做酒店推荐的目的深圳婚纱摄影网站建设 哪些网站做的好教资注册网站 校内二级网站建设整改方案网络公司具体是干什么的 wordpress自动取分类做菜单长沙网站优化外包 做个企业网站多少钱京东网站的设计特点 大学毕业网站设计代做网页制作和设计实验目的 xxx网站建设规划服装网站建设公司地址 大连网站的优化杭州网站建设推荐q479185700上墙 怎么网站代备案怎么样制作网站教程 爱站网站排行榜建设网站学什么时候开始 手机网站存储登录信息wordpress主题 问答 乐清网站制作哪家好天元建设集团有限公司商票兑付情况 网站建设上传服务器步骤tomcat加jsp做网站 做全球视频网站赚钱吗电脑优化工具 南通专业家纺网站建设百度秒收录技术最新 贵州省住房和城乡建设厅网站深圳做公司网站推广的 山西网站seo网站标题关键优化 php网站建设实训引言网络设计的原理 网站双链接怎么做seo网站内容