
架构
文章平均质量分 74
王启军
互联网一线架构师,扫描头像关注我的公众号,奔跑中的蜗牛
展开
-
ZooKeeper的一个性能测试
台ZooKeeper服务器。8核64位 jdk1.6;log和snapshot放在不同磁盘场景一同一个目录下,先create EPHEMERAL node,再delete;create和delete各计一次更新。没有订阅。一个进程开多个连接,每个连接绑定一个线程,在多个path下做上述操作;不同的连接操作的path不同测试结果数据汇总如下:dat转载 2014-08-15 14:08:38 · 1529 阅读 · 0 评论 -
分布式事务实现方案阿里巴巴fescar、华为servicecomb-pack对比分析
概述由于微服务架构大行其道,分布式通信几何级增加,必然带来一致性问题,也就是说,以前你遇到不一致的概率可能是100年1次,现在可能是1年1次,甚至1天1次。微服务架构的前期,大多数开发者只关注拆分,选择性忽略一致性、性能、可用性、工具链等问题,导致架构步履维艰,在这些问题当中,一致性是最容易被忽略的。当然,绝大多数场景并不需要那么高的一致性,可以采用失败重试的策略简单处理。 从目前业界的情况来...原创 2019-03-19 08:45:13 · 3705 阅读 · 0 评论 -
Spring Cloud的扩展之道
框架的扩展方式作为框架,使用者众多,无法满足所有的需求,那只能提供一些扩展机制,让使用者变成开发者,实现自己的个性化需求。这也是很多开源框架的优势。那么,作为开发者,如果不能满足要求,如何扩展呢?最简单的方式肯定是直接修改源代码,如果源码实现的比较好,定义了接口,可以直接基于接口实现。这种做法比较简单,只要读懂源码即可,问题是主干一旦升级,修改起来没有那么方便。就像各个厂商对An...原创 2019-03-25 11:47:41 · 1715 阅读 · 0 评论 -
一个轻量级的容错库—Resilience4j,Hystrix的替代品,断路器、限流、隔离舱、重试、缓存全部搞定。
Netflix宣布停止开发Hystrix,建议使用Resilience4j,Resilience4j到底是什么鬼?Resilience4j最新版本为0.13.2,无论是案例还是活跃度,都不及Hystrix,带着这些疑问,让我们来了解一下Resilience4j。首先,我先简单对比一下二者。 实际上Resilience4j的灵感来自于Hystrix,同样是轻量级的分布式容错方法库,比H...原创 2018-12-22 11:10:39 · 5067 阅读 · 0 评论 -
云上的数据库怎么做?浅析AWS上Aurora的设计理念
本文来自个人微信公众号:奔跑中的蜗牛要提升个人能力,研究大型互联网公司的架构是相当有必要的,今天给大家分享一篇论文。Amazon在SIGMOD 2017发表了论文《Amazon Aurora: DesignConsiderations for High Throughput Cloud-Native Relational Databases》,里面包含的内容很多,建议每一个关注分布式系统的技术...原创 2018-08-23 09:45:38 · 4331 阅读 · 0 评论 -
分布式锁方案—redlock算法
分布式系统的复杂之处在于在不同进程需要互斥的访问共享资源时的问题。例如,1、分布式ID,当数据水平拆分之后,如何保证ID的唯一性,并且尽可能的短;2、秒杀系统中的库存,数据结构为商品ID,剩余数量,每次成交会减掉响应数量。如何保证不会超卖;锁的目的是确保多个节点、进程做同样工作的时候,只有一个可以执行成功。有且只有一次。 实现分布式锁有很多方案,例如基于数据原创 2017-07-14 23:09:50 · 8070 阅读 · 0 评论 -
一个虐你千百遍的问题:“RPC好,还是RESTful好?”
看到知乎上有这样一个问题WEB开发中,使用JSON-RPC好,还是RESTful API好?还有其他优秀的推荐方案吗?先科普一下REST 和 RESTful 什么区别? REST,即Representational State Transfer的缩写。翻译过来是表现层状态转换。如果一个架构符合REST原则,就称它为RESTf原创 2016-09-20 06:40:04 · 64094 阅读 · 5 评论 -
你需要了解的未来技术趋势——serverless怎样改变未来架构
什么是serverless? serverless并不是不需要服务?而是你无需关注服务。举个例子,现在你开发一个应用,需要关心缓存、mq、web容器,serverless环境下,你只需要关注代码层面的东西。如果想用mq,只需调用函数解决,无需关注mq是否能承受压力,理论上,无上限,至于什么时候需要扩展?成本如何控制?云会为你做好一切。 serverless的现状原创 2016-06-09 18:40:42 · 10787 阅读 · 0 评论 -
为什么是kafka(二)
回答几个网友提出的问题,不清楚的可以看上一篇内容。1、 kafka的删除策略应该怎么配置?为了提升性能,我是不是应该1小时删除一次消费过的数据。完全可以根据磁盘大小配置,只要磁盘足够用,完全没必要删除的那么着急。Kafka的吞吐量不会因为数据量的增长而降低。因为读写数据时,kafka完全是顺序的,只记录offset,时间复杂度是O(1),我曾经测试过上T的数据,完全不受影响。反倒是数原创 2015-06-12 08:44:48 · 1898 阅读 · 0 评论 -
为什么是kafka?
在互联网和大并发的企业级应用中,kafka会越来越重要,会被更多的人重视,就算是不用kafka,也会有跟kafka类似的架构模式、原理差不多的MQ,类似于rocketMQ。现在差的,就是被更多的企业使用,更复杂的场景证明。原创 2015-06-04 08:18:25 · 2817 阅读 · 0 评论 -
架构师的九项绝技
更多文章请扫描我的头像,关注公众号奔跑中的蜗牛。耐得住寂寞在你的研究领域,有可能是孤独的,可能没有人和你一起研究,没有人和你一起讨论。也许是很枯燥的。你学到的某项技能也许没有应用场景,永远都不会被别人发现。强大的内心你提供的方案有可能会引来无数的指责声、甚至是嘲笑声,尤其是在某项技术引进的前期。这是很正常的,无论你的方案有多完美,总有一些小疏忽,这给了反对者充分的理由。“我说这样不原创 2015-05-22 17:55:48 · 1566 阅读 · 0 评论 -
认识异步、非阻塞、futrue、callback
高并发、大访问量实际是程序猿界的分水岭,如何从各个角度去解决这些问题?这也是面试的时候架构师被问过的最多的问题。而异步、非阻塞对于性能的提升是每个武林高手的锦囊妙计。异步和非阻塞是什么关系?什么区别?此问题一出,可以直接鉴别真伪,不信你问下试试~哈哈!!!看完此文,相信你就清楚了。异步毫无疑问,就是启动多个线程,让每个线程去做一部分工作,互不干扰。当需要汇聚结果的时原创 2015-05-14 09:00:25 · 1856 阅读 · 0 评论 -
典型的集群架构模型
在这个开源的世界,实际上摆在我们面前的方案有很多。很多时候连架构师都难以选择。下面介绍三种典型的集群架构模型。重客户端系优势:1、注册中心作为协调器,客户端和服务端直连,消费者和提供者只在服务启动时或者服务发生变化时才依赖注册中心,其余时间注册中心出现任何问题,服务发生变化之前都不会影响调用,注册中心压力较小;2、客户端做负载均衡,生产者和消费者原创 2015-05-10 07:12:57 · 3739 阅读 · 0 评论 -
分布式任务调度实现方式
背景 分布式任务调度是非常常见的一种应用场景,一般对可用性和性能要求不高的任务,采用单点即可,例如linux的crontab,spring的quarz,但是如果要求部署多个节点,达到高可用的效果,上面的方案就不适用了。实际上任务调度的实现有两种情况,第一种是通过mq来实现,mq做好了数据切分,负载均衡的效果,本文说的是另一种情况。要原创 2015-03-06 16:26:16 · 3792 阅读 · 2 评论 -
spring-cloud-huawei:在SpringCloud中使用ServiceComb的能力
Apache ServiceComb是什么?无论是 SOA,还是微服务架构;无论是平台化,还是中台战略,有一条原则始终都没有变过,那就是抽象,将公共的能力抽象出来,将最核心的研发人员投入到公共的服务、框架中,做到最稳定,以此来降低业务服务的复杂度,未来的趋势一定是,平台越来越厚重,业务越来越轻量级。微服务框架ServiceComb就是为此而生,将服务之间的通信、注册发现、服务治理、负载均...原创 2019-09-26 09:14:46 · 4405 阅读 · 0 评论