![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式开发
机智的白开水
这个作者很懒,什么都没留下…
展开
-
SpringBoot如何基于maven进行多环境打包
在日常的开发过程中,很多时候测试环境和生产环境无论是配置文件,还是各种规定的全局信息,都是不一样的。随着对接系统的繁杂,各种环境的实现都会加剧这种情况的恶化。在之前的开发中,因为没有一套完整的适合多环境切换的架构,导致会经常将生产的地址打包到测试环境,或者反之。为了解决这一难点,后面基于maven多版本打包的特性,将项目的开发架构由单一的开发环境,升级成了多环境的开发配置。1.增加pom文件的配置 <resources> <resource>原创 2022-03-10 15:20:36 · 1065 阅读 · 0 评论 -
基于zookeeper的分布式定时该怎么构建
公司有一个单独跑各种定时的一个项目,最近总是频繁的出现故障,主要的原因就是机器的性能问题。确实一台4核8G的机器,要负责上百个定时任务,有的任务线程十分的频繁,随着后面业务的拓展,这种单机的模式显然已经不能满足后续的需求。来吧,那就开始重构吧。重构的大体思路就是,由单机版重构为分布式形式,用拓展的思路,堆服务器的套路,解决后面无穷无尽的需求。因为单位用的PRC架构是比较流行的Zookeeper+dubbo,zk作为优秀的分布式管理平台,做这种分布式的定时任务,那简直再适合不过了。为了演示方便,我就原创 2022-03-09 17:51:39 · 2771 阅读 · 0 评论 -
zookeeper是怎么进行投票选举的(源码分析)
拿五台机器4核,8G的机器做ZK集群举例子。1.首先就是每台机器启动时,会给自己投票选举自己当老大。synchronized(this) {//logicalclock 值就是自己的进行选举的标号自增1,这个字段的取值就是配置文件中的server.X信息++this.logicalclock;//更新本地选举字段信息this.updateProposal(this.getInitId(), this.getInitLastLoggedZxid(), this.getPeerEpoch())原创 2022-03-08 15:23:39 · 1543 阅读 · 0 评论