摘要: 正常服务熔断的算法比较复杂,涉及到一个熔断机多个状态的切换,所以在具体项目里面应用往往需要经过大量的测试验证,下面是种简易的实现,但有以下缺点: 1 因为没有使用状态机,服务熔断之后无法自动恢复,只能在一个类似dubbo-admin的管理平台上去解除熔断 2 这种实现类似服务降级,只不过服务降级一般 阅读全文
posted @ 2017-01-21 13:25 Jager 阅读(911) 评论(0) 推荐(0) 编辑
摘要: 下面内容来自Redis作者在stackoverflow上的一个回答,对应的问题是《Is memcached a dinosaur in comparison to Redis?》(相比Redis,Memcached真的过时了吗?) You should not care too much about 阅读全文
posted @ 2017-01-10 10:26 Jager 阅读(766) 评论(0) 推荐(0) 编辑
摘要: 最近在做分布式服务熔断,因为要实现一个熔断器状态机,所以想到状态模式。状态模式是当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。 先举 阅读全文
posted @ 2017-01-06 08:53 Jager 阅读(10228) 评论(0) 推荐(0) 编辑
摘要: 在网上看到的一个架构师培训课程的知识体系树,参考下。 课程简介: 本课程针对软件团队中的架构师和专业设计人员,全面阐述架构的范围,把握方法,以及关键实践。涉及:应用架构,逻辑架构,实现架构。在课程中,将结合实际案例,讲解架构设计的技术:变化分解,模式,分层,分解,抽象,封装,接口隔离,扩展配置,美学 阅读全文
posted @ 2016-12-29 08:14 Jager 阅读(3368) 评论(0) 推荐(1) 编辑
摘要: (1)Contributors 和 Recipients Contributors 指的是对某个开源软件或项目提供了代码(包括最初的或者修改过的)发布的人或者实体(团队、公司、组织等),Contributors 按照参与某个软件开源的时间先后,可以分为an initial Contributor 和 阅读全文
posted @ 2016-12-28 19:01 Jager 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 最近发现公司里面越来越多人开始用机械键盘了,问了很多人为什么用机械键盘,主要有两种,一种是真的情怀,他们怀念十年前那种台式机硬邦邦的键盘,另外一种是因为喜欢机械键盘的声音,打字很爽。前者那真是没救了,掏钱吧,隔壁同事最近买了个日本进口的,1500人民币。对于我这种穷逼,想想就算了。知道前两天突然想到 阅读全文
posted @ 2016-12-28 14:53 Jager 阅读(839) 评论(0) 推荐(0) 编辑
摘要: protobuf是谷歌推出的与语言无关、平台无关的通信协议,一个对象经过protobuf序列化后将变成二进制格式的数据,所以他可读性差,但换来的是占用空间小,速度快。居网友测试,它的序列化效率是xml的10倍以上。protostuff是java的实现版本。 protostuff在项目中的使用: ma 阅读全文
posted @ 2016-12-28 10:19 Jager 阅读(2637) 评论(0) 推荐(0) 编辑
摘要: 苹果在最近的一次WWDC上提出将在2017年1月1日起强制我们用HTTPS,否则提交App可能会被拒绝。很多ios应用的已经放出支持HTTPS的SDK了。本文主要针对混合式IOS应用提供相关的解决方案,欢迎探讨。 info.plist中NSAppTransportSecurity字典结构 注:关于N 阅读全文
posted @ 2016-12-26 10:41 Jager 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 有的时候我们要使用日志分析工具对日志进行分析,需要对日志进行格式化,比如,要把accessLog格式化成这样的格式 在tomcat的conf/server.xml加入配置: 关于accessLog的官方说明,请看 http://tomcat.apache.org/tomcat-8.0-doc/con 阅读全文
posted @ 2016-11-30 11:56 Jager 阅读(1983) 评论(0) 推荐(0) 编辑
摘要: 1、RocketMQ简单介绍 RocketMQ主要由NameServer、Broker、Producer以及Consumer四部分构成,如下图所示 所有的集群都具有水平扩展能力,无单点障碍。 NameServer以轻量级的方式提供服务发现和路由功能,每个NameServer存有全量的路由信息,提供对 阅读全文
posted @ 2016-11-18 10:04 Jager 阅读(5148) 评论(0) 推荐(1) 编辑
摘要: 场景: List里面的对象是订单的节点,比如我们快递的物流状态,这个是需要有序的,所以需要根据订单号进行分组排序。 阅读全文
posted @ 2016-11-17 11:09 Jager 阅读(9030) 评论(0) 推荐(0) 编辑
摘要: 双11刚刚过去,今年整个团队准备的相对比较充分,双十一期间也算是波澜不惊,比较顺利的度过,这里一起探讨下大促前一般都是怎么准备的。 我们主要做以下几点: 1 项目封版 项目大概在双十一前20天封版,这个时间现在看来有点短,比较合适应该是一个月左右,因为这中间要大概两个礼拜来修复性能压测所发现的bug 阅读全文
posted @ 2016-11-16 12:54 Jager 阅读(1321) 评论(2) 推荐(1) 编辑
摘要: 由于项目有个图片上传和导入导出的模块,所以当项目通过集群方式部署的时候就要考虑文件共享问题。 文件共享要么就是通过统一的文件系统来管理,要么就是在系统之间做文件共享,前者扩展性比较好,可以随时随地加服务器,后者实现简单,通过配置服务器共享目录即可,但不好扩展。我们这个项目的页面功能相对比较简单,而且 阅读全文
posted @ 2016-11-15 18:01 Jager 阅读(16657) 评论(0) 推荐(0) 编辑
摘要: 1 安装配置nginx 参考: http://www.cnblogs.com/jager/p/4388202.html 2 安装配置keepalived keepalived.conf(另外一台备机上的) 3 启动相关服务 启动nginx 启动 keepalived 4 keepalive自动切换演 阅读全文
posted @ 2016-11-15 14:07 Jager 阅读(3989) 评论(0) 推荐(1) 编辑
摘要: 1 kill所有相关进程ps -ef | grep -i 进程名 | grep -v "grep" | awk '{print $2}' |xargs kill 2 查询当前用户占用的线程数lsof | grep haieradmin | wc 3 文件大小和位置的定位du -h --max-dep 阅读全文
posted @ 2016-11-14 10:51 Jager 阅读(483) 评论(0) 推荐(1) 编辑
摘要: 双十一过后有点闲,找本书给这段时间碰到的一些问题充充电,先从linux vi命令开始: 移动光标: “h” 向左一个字符,“j”向下一行,“k” 向上一行,“l” 向右一个字符(虽然我们可以用方向键,但这样可以让你的手指不用离开键盘的中心) “0” 移到一行的开头 “$”移到一行的结尾 光标移动一个 阅读全文
posted @ 2016-11-13 17:06 Jager 阅读(1070) 评论(0) 推荐(1) 编辑
摘要: 本文转自:http://ian.wang/106.htm 举例A依赖于B及C,而B又依赖于X、Y,而C依赖于X、M,则A除引B及C的依赖包下,还会引入X,Y,M的依赖包(一般情况下了,Maven可通过<scope>等若干种方式控制传递依赖)。这里有一个需要特别注意的,即B和C同时依赖于X,假设B依赖 阅读全文
posted @ 2016-11-10 16:54 Jager 阅读(6582) 评论(0) 推荐(0) 编辑
摘要: 双十一马上到了,一堆的事情,今天登录mysql数据库服务器的时候突然发现服务器时间戳不对,比北京时间快了几分钟,我的天。。。随后检查了其他的几台数据库服务器发现同样都存在不同的偏差,最小的比北京时间快几秒,最大的长达8分钟,感觉整个人都不舒服了。。。服务器时间戳没有同步会导致什么问题呢,举个最简单的 阅读全文
posted @ 2016-11-05 12:01 Jager 阅读(6566) 评论(0) 推荐(0) 编辑
摘要: 演练包括被动切换和主动切换两部分。被动切换是主库宕机,主动切换是人工手动触发。 演练步骤大致如下: 1 先停掉主库,模拟主库宕机 2 mha将vip切到备库,备库变成主库,应用可以正常读写数据库 3 重新启动宕机的原主库 4 在原主库上建立同步关系(根据宕机时,日志记录的binlog的文件名和偏移量 阅读全文
posted @ 2016-10-28 02:58 Jager 阅读(9188) 评论(0) 推荐(0) 编辑
摘要: 公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密。 在使用jenkins自动构建并远程登录服务器进行发布应用的时候,需要使用SSH公钥认证来解决登录服务器的问题。 其实很简 阅读全文
posted @ 2016-10-22 01:02 Jager 阅读(34340) 评论(0) 推荐(1) 编辑