摘要:无论是技术还是经济都进入了瓶颈期,在真正的突破发生前,或者说在这个分蛋糕的时期,你想分的更多,唯有做精做深。 阅读全文
posted @ 2020-10-25 11:30 波斯马 阅读(172) 评论(0) 推荐(2) 编辑
摘要:FireflySoft.LeaderElection的第一个版本实现了基于Consul的Leader选举,考虑到ZooKeeper的一个常见用途也是选主,所以此类库把ZooKeeper也集成了进来。并且进行了多项优化,比如在Leader断开连接时增加了一个Leader选举失败的事件,防止集群产生脑裂问题。 阅读全文
posted @ 2020-06-28 23:42 波斯马 阅读(68) 评论(0) 推荐(0) 编辑
摘要:前段时间有传言说Consul将不能在我国继续使用,后被查明是因法律问题Vault企业版产品不能在国内销售。Valut和Consul都是HashiCorp公司的产品,并且都推出了开源版本,继续使用开源版本都是没有问题的,虚惊一场。Consul是一款优秀的服务发现和配置管理产品,基于其提供的Session机制,可以很方便的实现Leader选举功能。这篇文章将介绍我编写的一个基于Consul的.NET Leader选举类库。 阅读全文
posted @ 2020-06-09 08:30 波斯马 阅读(717) 评论(7) 推荐(4) 编辑
摘要:OpenTracing是一个链路跟踪的开放协议,已经有开源的.net实现,结合Jaeger可以实现完整的功能。对于链路跟踪,为了同时保障性能和跟踪关键数据,能够远程调整采样率是很重要的,Jaeger本身也提供了远程配置采样率的支持。不过没有提供Reporter的远程配置更新支持,我这里用的阿里云链路跟踪平台也不支持远程配置,所以自己做了一个采样和上报配置的动态更新。 阅读全文
posted @ 2020-05-28 20:32 波斯马 阅读(513) 评论(0) 推荐(3) 编辑
摘要:会说话的汤姆猫很多人都玩过,对着它说话,它就会用猫的音调重复你说的话。这篇文章就是介绍如何使用树莓派来实现这个功能。 阅读全文
posted @ 2019-09-29 21:07 波斯马 阅读(737) 评论(0) 推荐(1) 编辑
摘要:在分布式集群部署模式下,为了维护数据一致性,通常需要选举出一个leader来进行协调,并且在leader挂掉后能从集群中选举出一个新的leader。选举leader的方案有很多种,对Paxos和Raft协议有过了解的同学应该对leader选举有一些认识,一般都是按照少数服从多数的原则来实现,但是因为分布式环境中无法避免的网络不稳定、数据不同步、时间偏差等问题,要想搞好leader选举并不是一件特别容易的事。这篇文章将提供一个使用Consul做leader选举的简单方案。 阅读全文
posted @ 2019-09-24 08:43 波斯马 阅读(2016) 评论(3) 推荐(1) 编辑
摘要:RabbitMQ是一个开源的消息中间件,自带管理界面友好、开发语言支持广泛、没有对其它中间件的依赖,而且社区非常活跃,特别适合中小型企业拿来就用。这篇文章主要探讨提升RabbitMQ消费速度的一些方法和实践,比如增加消费者、提高Prefetch count、多线程处理、批量Ack等。 阅读全文
posted @ 2019-09-06 08:52 波斯马 阅读(11947) 评论(4) 推荐(4) 编辑
摘要:搞技术的对“高内聚,低耦合”这几个字应该很熟悉,这是程序设计的一个基本原则,无论对于分布式系统,有几个模块的单体程序,以及程序中具体的类、类中的方法,都可以拿来讲。这个原则本质上是“分治法”,将一个大问题分解为一个个的小问题,然后各个击破,整个问题就解决了。 阅读全文
posted @ 2019-08-20 11:58 波斯马 阅读(834) 评论(0) 推荐(2) 编辑
摘要:俗话说林子大了什么鸟都有,分布式系统如果没有一个有效的约束机制,就会越来越混乱,Consul通过协调Agent和Catalog实现了反熵,这篇文章就来一探究竟。 阅读全文
posted @ 2019-08-14 19:39 波斯马 阅读(673) 评论(0) 推荐(2) 编辑
摘要:此Swift非Apple那个Swift,只是考虑这个词的含义比较适合。这是一个基于.NET Core的分布式批处理框架,支持将作业分割后分发到多台服务器并行处理,可成倍提升大量数据的处理速度。 阅读全文
posted @ 2019-04-08 09:12 波斯马 阅读(647) 评论(0) 推荐(3) 编辑