基础架构
Java基础设施建设
小姐姐味道
不羡鸳鸯不羡仙,一行代码调半天 http://xjjdog.cn
展开
-
冷门instrument包,功能d炸天
文中代码示例工程如下,更多参考btrace和arthas:https://github.com/sayhiai/example-javaagent5版本以后,jdk有一个包叫做instrument,能够实现一些非常酷的功能。市面上一些APM工具,就是通过它来进行的增强。这是基础架构的必备技能,但对业务开发来说并不是。许多面试会问到这个知识点,并不是因为将来会用到,而是因为你说对jdk比较...原创 2019-06-05 09:14:03 · 692 阅读 · 0 评论 -
使用Netty,我们到底在开发些什么?
在java界,netty无疑是开发网络应用的拿手菜。你不需要太多关注复杂的nio模型和底层网络的细节,使用其丰富的接口,可以很容易的实现复杂的通讯功能。和golang的网络模块相比,netty还是太过臃肿。不过java类框架就是这样,属于那种离了IDE就无法存活的编码语言。最新的netty版本将模块分的非常细,如果不清楚每个模块都有什么内容,直接使用netty-all即可。单纯从使用方面来说...原创 2019-06-05 09:19:14 · 4617 阅读 · 3 评论 -
MySQL痿了,放不下这么多数据!
调研不代表实践,谨慎采纳,结论后续实践后放出。本文主题:【存储上云】TiDB和Polardb。MySQL在达到一定数据量(我的经验是3T、单表1亿)时,复杂查询会有明显的...原创 2019-06-11 18:11:15 · 206 阅读 · 0 评论 -
Kafka消息系统基础知识索引
我们在《360度测试:KAFKA会丢数据么?其高可用是否满足需求?》这篇文章中,详细说明了KAFKA是否适合用在业务系统中。但有些朋友,还不知道KAFKA为何物,以及它为何存在。这在工作和面试中是比较吃亏的,因为不知道什么时候起,KAFKA似乎成了一种工程师的必备技能。一些观念的修正从 0.9 版本开始,Kafka 的标语已经从“一个高吞吐量,分布式的消息系统”改为"一个分布式流平台"。Ka...原创 2019-03-19 14:29:16 · 257 阅读 · 0 评论 -
这样的高可用,我不要!
前不久,朋友的公司,出现了比较大的故障。故障引起的原因也比较好解释,因为使用了ActiveMQ的高可用级别(M-S架构,双写完成ACK),结果在高峰期间,造成了生产端消息...原创 2019-06-17 18:08:12 · 270 阅读 · 0 评论 -
微服务不是全部,只是特定领域的子集
大家都在学SpringCloud,貌似学会了SC就牛逼哄哄,感觉不得了的样子。但微服务,在整个企业级应用中,只占了一小部分。微服务引入的问题比解决的问题还要多,你会遇到各种各样的bottleneck。微服务解决的是计算节点的问题,然而根源却在存储节点。当业务规模变得越来越庞大,存储、编码、管理都会成为问题。接下来我们谈一些放之四海而皆准的道理,不需要贴上"XX公司最佳实践"之类的标签。下面是...原创 2019-03-19 14:27:53 · 2674 阅读 · 6 评论 -
这次要是讲不明白Spring Cloud核心组件,那我就白编这故事了
这几天可真是热啊,泡个海澡是再好不过了。玩的正起劲,突然脚底绊上一股暗流,然后我就一直在水里旋转旋转旋转…终于眼前一黑。爱的魔力转圈圈。我穿越了。邻国相望,鸡犬之声相闻,...原创 2019-07-31 18:48:51 · 2309 阅读 · 13 评论 -
还在收集资料?我这里有个github汇总
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。国内程序员都喜欢收集资料,但是又不看,github是重灾区。更有莫名其妙fork的,让人不得要...原创 2019-10-22 18:23:28 · 26915 阅读 · 9 评论 -
360度测试:KAFKA会丢数据么?其高可用是否满足需求?
请仔细了解这张图,尤其注意有标志的几个关注点。我们会不止一次回到这张图上背景Kafka到底能够应用在高可用的业务上?官方给出的答案是肯定的,最新版,已经支持消息队列的事务,但我们对其性能是有疑问的。Kafka根据配置的ACK级别,其性能表现将特别大,为了找到其适用场景,特做此测试,以便应用kafka时能够灵活应对。测试过程还探讨了许多丢消息的场景。相对于大多数仅仅针对kafka集群本身的测试,本测...原创 2018-06-29 11:46:09 · 824 阅读 · 0 评论 -
高并发 限流,到底限的什么鬼 (精品长文)
更多精彩文章。《微服务不是全部,只是特定领域的子集》《“分库分表" ?选型和流程要慎重,否则会失控》这么多监控组件,总有一款适合你《使用Netty,我们到底在开发些什么?》《这可能是最中肯的Redis规范了》《程序员画像,十年沉浮》最有用系列:《Linux生产环境上,最常用的一套“vim“技巧》《Linux生产环境上,最常用的一套“Sed“技巧》《...原创 2019-07-03 18:04:09 · 2898 阅读 · 3 评论 -
信号量限流,高并发场景不得不说的秘密
限流可以认为是一种降级,一般是根据后台的负载提前预估的一个阈值(也可以动态调整)。超过了这个值,就要进行一些旁路处理。根据业务形态,会有直接拒绝、延迟处理、保持等待、部分...原创 2019-07-01 18:04:34 · 1302 阅读 · 0 评论 -
没有预热,不叫高并发,叫并发高
大家都知道,高并发系统有三把斧子:缓存、降级和限流。但还有一把斧子,经常被遗忘在角落里,郁郁不得志,那就是预热。现象举例先说两个现象。这些现象,只能在并发高的系统中出现。好吧,它已经引起了多个故障。一、DB重启后,瞬间死亡一个高并发环境下的DB,进程死亡后进行重启。由于业务处在高峰期间,上游的负载均衡策略发生了重分配。刚刚启动的DB瞬间接受了1/3的流量,然后load疯...原创 2019-06-24 18:09:00 · 1492 阅读 · 0 评论 -
与亲生的Redis Cluster,来一次亲密接触
笔者曾经维护过千个redis实例,这些实例采用的简单主从结构,集群方案主要是客户端jar包。刚开始,个人并不是太喜欢redis cluster,因为它的路由实在是太死板,...原创 2019-07-27 19:15:02 · 402 阅读 · 0 评论 -
轻拢慢捻,微服务熔断大总管
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。我这篇文章来的晚了些,因为hystrix已经进入维护模式。但已经有非常多的同学入坑了,那么本篇...原创 2019-09-25 18:03:00 · 455 阅读 · 0 评论 -
这么多监控组件,总有一款适合你(深度解析)
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。监控是分布式系统的必备组件,能够起到提前预警、问题排查、评估决策等功效,乃行走江湖、居家必备之良品。监控系统概要功能划分一个宿主机cpu的报警叫做监控;一个业务日志的报错叫做监控;一个APM条件的触发,也叫做监控。分布式系统错综复杂,随便做个统计指标的集合,也属于监控的范畴。怎样做到通用化,理清其中的关...原创 2019-08-20 10:09:41 · 2614 阅读 · 1 评论 -
WebSocket协议 8 问
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。WebSocket是一种比较新的协议,它是伴随着html5规范而生的,虽然还比较年轻,但大多主流浏览器都已经支持。它使用方面、应用广泛,已经渗透到前后端开发的各种场景中。对http一问一答中二式流程的不满,催生了支持双向通信的WebSocket诞生。WebSocket是个不太干净协议。一、WebSocket协议...原创 2019-08-21 11:24:02 · 359 阅读 · 0 评论 -
【秒杀】二、what?秒杀也可以做引擎?
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。秒杀系统是一件复杂的事,从我们上篇文章中就能看出来,洋洋洒洒又臭又长接近5000字。这样复杂的...原创 2019-09-09 18:39:00 · 406 阅读 · 1 评论 -
【秒杀】一、系统设计要点,从卖病鹅说起
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。秒杀,就像是计划经济的菜市场,过客匆匆,你来我往。熙熙攘攘一阵子,过后只留下冷清寂寞的大街。且...原创 2019-08-26 18:09:46 · 562 阅读 · 0 评论 -
架构秘笈:移花接木。使用mysql模拟redis
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。这年头,你看到的东西未必就是你认为的东西。一个mysql协议的后面,可能是tidb;一个lin...原创 2019-09-16 18:01:00 · 478 阅读 · 0 评论 -
记一次操蛋的方案降级(云上冷热分离的坎坷之路)
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。系统的数据,就是公司的生命。哪怕是狗屎,我们也要将它冷冻起来冰封以备后用。垃圾的产品设计就比较...原创 2019-10-08 18:12:19 · 721 阅读 · 0 评论 -
这一轮,skywalking胜出
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。了解xjjdog的都知道,在微服务trace方面,我在两家公司实施了uber的jaeger。但是,jaeger虽然可以搜集调用链信息并查询,但统计图表相对欠缺,尤其对于服务间调用关系部分,不够直观。今天,我们来看一下skywalking,以及和它很像的pinpoint。说它们是近亲,是因为它们都是基于agent探针技术进行...原创 2019-11-05 18:15:00 · 897 阅读 · 0 评论 -
这可能是最中肯的Redis规范了
redis功能强大,数据类型丰富,再快的系统,也经不住疯狂的滥用。通过禁用部分高风险功能,并挂上开发的枷锁,业务更能够以简洁、通用的思想去考虑问题,而不是绑定在某种实现上。Redis 根据不同的用途,会有不同的持久化策略和逐出策略,所以,在使用和申请 Redis 集群前,请明确是用来做缓存还是存储。redis 的集群有主从和 cluster 两种模式,各有优缺点。以下规范不区分集群模式,我们...原创 2019-06-15 18:19:11 · 197 阅读 · 0 评论 -
分库分表“实践”大全
分库分表是个蛋疼的过程,需要考虑数据迁移、数据同步、数据切分等多个工作项,项目bug会持续到天荒地老。网络上搜索到的文章,往往有些错误的观点,只有调研,没有实践。在早些年,我就走过这方面的弯路。本篇文章亦为实践后的产出,有很大的参考价值背景前不久发过两篇关于分表的文章:从标题可以看得出来,当时我们只做了分表;还是由于业务发展,截止到现在也做了分库,目前看来都还比较顺利,所以借着脑子还记得清楚来一次...转载 2019-11-11 18:22:01 · 431 阅读 · 0 评论 -
“分库分表" ?选型和流程要慎重,否则会失控【方案引导】
本文意图打开数据库中间件的广度,而不考虑实现深度。所以此文面向的是有一定研发经验,正在寻找选型和拆分流程的专业人士。期间有很多坑,所以也力求建立一个流程体系,帮您去深入思考。原创 2019-07-09 09:10:50 · 1585 阅读 · 1 评论 -
2w字长文,让你瞬间拥有「调用链」开发经验
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。很多同学表示,对于微服务中常用的调用链功能的原理,感觉很模糊。本文将真正的从零开始,介绍调用链客户端开发的一些要点。让你瞬间拥有APM开发经验。文章很长很长,照例看一下相关目录。随着微服务架构的流行,一次请求往往需要涉及到多个服务,因此服务性能监控和排查就变得非常复杂。为了发现和治理这种依赖关系,APM因此而生。目前,市面...原创 2019-11-16 18:10:00 · 1202 阅读 · 0 评论 -
你的野花,朕的kibana
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。ELK是目前主流的日志收集及展示的解决方案。当然,也有人听过进阶版的——ELKB,这通通都是原配&官配。俗语云【家花不如野花香……】,又云【妻不如妾,妾不如】……(啪——!俗语你又瞎云啥呢!)既然外面世界辣~——么大,那就去看看啊。ELKB既要出访,自然要先对家中摸底一番,否则野花找回来不对付,后院起火可不是闹着玩...原创 2019-11-19 18:10:00 · 408 阅读 · 0 评论 -
昔日教人类用火的prometheus,如今在努力报警
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。像我这么热爱野外生活的人,初冬时节,还找了个隐蔽的地方去野炊。现在的社会,为了找找到这么一个静谧的存在,我可谓煞费苦心。初冬的夜,连虫鸣声都没有,星空高而深远。蜷缩在篝火旁边,我想起了普罗米修斯。在希腊神话中,他教会人类学会使用火,彻底告别了茹毛饮血的年代。早在2012年,还有一部叫做《普罗米修斯》的电影上演,它是《异行》...原创 2019-11-22 18:10:00 · 426 阅读 · 0 评论 -
elkb实践经验,再赠送一套复杂的配置文件
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。宝剑锋从磨砺出,梅花香自苦寒来。诗人白居易,三月下江南,看到沿路开放的桃花,心潮澎湃,作下了这首流传千秋的诗。...原创 2019-11-28 18:10:00 · 337 阅读 · 0 评论 -
技术评审,你拿什么来吐槽?
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。现在,给你一个机会,来吐槽别人的方案或者代码,该从何开始?是不是觉得有千言万语想要迸发,弄到最后只想起个代码命...原创 2019-12-09 18:10:00 · 530 阅读 · 0 评论 -
万字Spring Cloud Gateway2.0,面向未来的技术,了解一下?
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。本文将从知识拓扑讲起,谈一下api网关的功能,以及spring cloud gateway的使...原创 2019-10-18 18:02:17 · 751 阅读 · 0 评论 -
外来规范水土不服?手把手教你怎么扩展阿里规范idea插件
本文字数:2007字阅读时间:7分钟导读很多公司都在用阿里巴巴的java开发规范,本文会简要谈一下规范的必要性,然后介绍两个底层原理。最后,手把手教你怎么扩展阿里巴巴Java开发规范插件...转载 2019-12-20 18:08:21 · 636 阅读 · 2 评论