
● 架构之路
当年的春天
目前就职于阿里巴巴,六年大型互联网后端(Java)研发经验,坐标北京;擅长微服务和中间件。
展开
-
SpringBoot实战(十六):集成Skywalking调用链监控系统
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 Skywalking做为生产级的调用链监控工具,不仅提供了丰富的监控系统,而且通过字节码拦截形式集成系统,对系统没有任何侵入性;最近研究一下调用链项目,在此与大家共享;【集成调用链】 一、Skywalking的github项目地址: ...原创 2019-10-24 10:40:44 · 23098 阅读 · 4 评论 -
Keepalived+Nginx实现高可用,反向代理---模拟实现线上环境
【前言】 在对Keepalived+Nginx进行了研究后,将这项技术推广上线,并配合运维进行网站搭建起来。经过一段时间的运行线上环境运行已经稳定,不过自己还需要进行更加深入的研究;那么如何模拟线上环境做相应的实验那?自己又在本机搭建一个仿真环境,以此来做些相关实验,如果实验成功再部署到测试环境经过测试验证没问题后将其应用到线上环境。【实现过程】 ...原创 2017-04-08 09:53:41 · 17097 阅读 · 17 评论 -
Keepalived+Nginx实现高可用,反向代理---Nginx安装及配置
【前言】 项目中总有些研究性的工作来做,记得一年多之前也是在研究Nginx,当时也是苦战了一周左右;时隔一年对它的理解又加深了许多,不过也下了些功夫将它又进行了深入的研究 虽然网上已经有很多文章在写,并且这种技术已经很成熟,不过根据具体的业务场景应用不同以及自己研究的时候还是踩了许多的坑;还是有写出来一是整理一下自己最近的实验,二是或许会对读者有些帮助。【研究之路】...原创 2017-03-12 08:23:41 · 21549 阅读 · 46 评论 -
Nginx设置gzip压缩提高传输效率
分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/zhanghan【前言】 在上篇博文(《Cash Loan(十):查看redis的Value值大小》)中研究了如何查看redis的value值;自己做的一个功能涉及到redis查了一下,发现有些大的value(约250KB),...原创 2018-07-29 20:09:27 · 17435 阅读 · 5 评论 -
Nginx设置日志打印post请求参数
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 我们项目的短信功能是接第三方,原来对接第三方给我们回执确认请求是get请求我们在排查问题的时候可以通过nginx的日志拿到对方给我们请求的参数;最近我们换了另外一家第三方,新的第三方给我们的确认请求是post,遇到问题排查,发现nginx没有打印具体参数,于是查阅一...原创 2018-07-29 20:59:58 · 43786 阅读 · 3 评论 -
监控平台技术调研
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 随着业务不断迅速的扩展,我们的项目越来越多,越来越复杂;随之而来的是系统各种问题一直在困扰着我们;经过去网上调研以及之前的经验,我们决定引入监控平台;很庆幸自己能成为该技术的前期研究者;经过自己的调研以及实践,将监控平台从无到有搭建起来,目前正在各个系统中进行推广。...原创 2018-11-03 16:51:05 · 19267 阅读 · 2 评论 -
只使用Feign不引入Eureka
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 随着业务不断的扩展以及开发团队的不断壮大,单体服务已经满足我们现在项目的需求;于是乎我们在新做的项目中果断采用了微服务,与此同时将我们的老项目逐步往微服务方向上改造; 在技术选型中,根据我们的需求以及未来发展的趋势,我们选择了SpringCloud全...原创 2019-01-02 22:12:37 · 16262 阅读 · 8 评论 -
灰度实战(一):Apollo配置中心(1)
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 业务由原来一个国家扩展成多个国家,自己维护的消息平台做了些改造来支持多国家的需求;随着接入的国家越来越多,消息平台版本更新时,如果由于线上环境出问题影响的范围也越来越大;降低发布风险,灰度发布显然是个很好的解决方案;在接下来的灰度实战系列将分享一下我们采用的灰度方案。...原创 2019-07-03 21:38:54 · 2025 阅读 · 0 评论 -
灰度实战(二):Apollo配置中心(2)
【前言】 在上一篇博文《灰度实战(一):Apollo配置中心(1)》中讲解了如何搭建Apollo以及创建配置文件,在本篇博文中为大家带来程序如何通过Apollo读取配置文件,以及配置中心一大亮点---配置修改后实时推送到应用端。【实时推送演示】 一、程序连接Apollo配置1、在项目pom中增加Apollo客户端依赖...原创 2019-07-04 11:04:23 · 1262 阅读 · 0 评论 -
灰度实战(三):Apollo配置中心(3)
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 在上一篇博文《灰度实战(二):Apollo配置中心(2)》中讲解了Apollo如何动态更改程序中通过@value配置值,在本篇博文中为大家带来如何通过Apollo动态更新程序和中间件的连接。【实时推送演示】 一、程序和第三方组件连接动态更改(在...原创 2019-07-04 11:24:26 · 1225 阅读 · 2 评论 -
灰度实战(四):Apollo配置中心(4)
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 在上一篇博文《灰度实战(三):Apollo配置中心(3)》中讲解了Apollo如何动态更改程序中连接第三方中间件连接池,在本篇博文中为大家带来如何通过Apollo实现灰度配置。【灰度配置演示】 一、环境准备 1、...原创 2019-07-05 15:18:16 · 926 阅读 · 2 评论 -
灰度实战(五):SpringCloud灰度(1)
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 在上四篇博文中讲解了Apollo如何动态配置,以及Apollo的对灰度发布支持;在本篇博文中为大家带来我们项目(Spring Cloud)的灰度实战。【SpringCloud灰度实战】 一、项目简介 1、项目目录...原创 2019-07-06 22:01:38 · 3385 阅读 · 1 评论 -
灰度实战(六):SpringCloud灰度(2)
【前言】 在上篇博文中《灰度实战(五):SpringCloud灰度(1)》讲解了SpringCloud项目的灰度实战,其中在zuul中拦截到是灰度请求时采用重定向再次请求网关然后分发至灰度服务,在本篇将zuul针对灰度请求分发策略进行优化,由重定向优化为直接转发提高性能。【SpringCloud灰度实战】 一、项目简介 ...原创 2019-07-06 22:20:26 · 1457 阅读 · 1 评论 -
Keepalived+Nginx实现高可用,反向代理---Keepalived安装及相关配置
【前言】 在博文《智能一代云平台(十五):Keepalived+Nginx实现高可用,反向代理---Nginx安装及配置》中介绍了Nginx的安装及相关配置的信息,由于篇幅原因不能用一篇博文描述完,这篇接着为大家分享其中的一个非常重要的模块Keepalived的安装及相关配置。【研究之路】 一、郑重声明 本篇博文的前导博文为《智能...原创 2017-03-17 21:55:44 · 20574 阅读 · 15 评论 -
RabbitMQ的死信队列的应用
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近在项目中用到了RabbitMQ来做异步处理,自己将这块儿系统的搞了搞,下面主要记录一下自己在研究过程中对死信队列的一些研究。【实践】 一、如何配置死信队列? 1、增加死信队列(exchange-ttl-to.q...原创 2018-03-11 21:19:08 · 37560 阅读 · 8 评论 -
分布式与集群(一):我眼中的分布式与集群
【前言】 很早之前听说过分布式和集群,刚开始接触的时候感觉特别的高大上,随着自己对相关知识的系统学习以及在项目中不断的应用,自己对它的理解也更加的深刻; 同时自己也在一直问自己,这种技术是在什么背景下诞生的,它的出现能满足什么需求,有没有其它可以满足同样需求的解决方案,这种技术方案有没有引入新的问题等等......脑子中的各种疑问让自己对它的探索有了更大的...原创 2017-01-01 21:39:19 · 17026 阅读 · 22 评论 -
nginx与IIS服务器搭建集群实现负载均衡(一)
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【被黑之路】 最近亮亮在研究IIS的负载均衡!本人由于初出茅庐,防骗意识薄弱,一不小心被亮亮坑上了IIS负载均衡之路(亮亮是真黑哈!)。前车之鉴啊!小伙伴们要小心。不过既上了贼船,便决定一条道走到黑。于是乎从大前天晚上被骗到今天下午正好三天的时间,在这三天时间中一直奋斗在这...原创 2015-12-13 17:08:57 · 108496 阅读 · 50 评论 -
多线程(一):初识多线程
【前言】 浩浩荡荡的ITOO_Net 4.1版本结束,回想在整个征程,还算充实——在参加系统的研发之余,也有幸能参加到对多线程这个技术研究中去,并最终让其用到了项目中。 在这次研究过程中自己也对多线程以及相关的知识进行了深入的探索,总的来说还是蛮不错的一次探索之旅吧!【前世今缘】说起我和多线程的渊源,还得追溯到两年前的考试维护,记得当时自己还是一个小兵,看...原创 2016-03-06 16:24:11 · 19717 阅读 · 24 评论 -
nginx与IIS服务器搭建集群实现负载均衡(三)
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 在《架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)》中提到有好多有趣的地方,接下来就为大家一块儿讲讲在深入研究过程中遇到那些有趣的事情。 ·实战之行——发现问题 ·探索之旅——寻出问题原因 ·解决之道——解决问题【实战之行】...原创 2016-03-10 22:19:05 · 113615 阅读 · 70 评论 -
nginx与IIS服务器搭建集群实现负载均衡(二)
【前言】 在《架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)》中小编简单的讲解了Nginx的原理!俗话说:光说不练假把式。接下来,小编就和大家一起来做个小Demo来体会一下Nginx的神奇之处。【准备工作】 ·安装一款文本编辑器(这里以Notepad++为例) ·下载Nginx(这里以Nginx-1.4.7为例,其他版本操作相同) ·建两个...原创 2016-01-10 17:13:18 · 24755 阅读 · 37 评论 -
流媒体:浅谈传统媒体—>流媒体—>加P2P的流媒体的演变之路
【前言】 今天发现二哥在搞流媒体,顿时来了兴趣(之前在考试维护的时候经常听老师说P2P等),追问之下之前林哥搞成功过,而且写了一系列博客;于是乎便翻开博客,认真看了看,写的非常不错:从概念到安装实现(linux和windows)再到性能测试对比非常不错(详见:http://blog.csdn.net/u012407484/article/category/2732453);...原创 2016-08-06 21:25:33 · 22693 阅读 · 19 评论 -
设计模式(二):难忘一次分享盛宴
【背景】 由十一期先分组讨论后,随后十期师哥师姐以讲课方式交流方式为我们分享设计模式中比较经典的十个。为期五天的交流盛宴,使我这只菜鸟在相互交流思想碰撞中对设计模式有了更深层次的理解。【设计模式小组】 ·成立目的: 我们第一遍学习设计模式已有半年之久,只是在机房重构和合作的时候简单应用了些设计模式,没有真正在项目中应用...原创 2015-08-29 19:25:36 · 18846 阅读 · 29 评论 -
设计模式(一):从三类模式六种原则看设计模式
大话设计模式很早就弄完了,师父在验收的时候就看出了自己的缺点只顾埋头跑,少了思考与总结!师父向来是不惮以最坏的恶意,来推测我的,然而师父还不料,在写这篇博客的时候就验证了师父的说法(呜呜~~~)!这篇博客在草稿箱中存了好久,一直感觉没什么可写!唉!拖拉是一种病,只怪我当初没有听师父良言。出来混的迟早要还的,尝到了苦果子,现在只能亡羊补牢。 现在回想这本大话设计模式,...原创 2014-12-20 10:35:30 · 17269 阅读 · 23 评论 -
微服务(Microservice)那点事
WHAT - 什么是微服务微服务简介这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火。最喜欢其中一页。关于这个典故,可以参考this,此图适用于一切高大上的名字——技术有SOA,Agile,CLOUD,DevOps等等,古代有道,气,八卦等等...转载 2017-02-14 21:56:47 · 18750 阅读 · 20 评论 -
设计模式(三):单例模式
【前言】 设计模式是无数前辈们经过多年的实践与思考,提炼出的解决某些问题的套路;自己在工作中不断的应用与思考对设计模式的精妙体会越来越深刻;今天为大家分享一下十分经典的单例模式。【实现单例】 1、饿汉式 (1)实现原理:直接加载; (2)优缺点:...原创 2016-12-20 21:30:08 · 19910 阅读 · 20 评论 -
一次线上Nginx出问题排错经历
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 我们最近新上线一个新的功能是对题库的查询和练习,我们是在微信公众号中挂载的阿里云,阿里云反向代理到我们的机房中。【一次排错的经历】 线上环境出问题自然对我们的影响十分大的,不敢稍有怠慢赶紧进行相关排查; 一、一次访问的流程:...原创 2017-06-01 17:15:38 · 20349 阅读 · 12 评论 -
tomcat集群共享session
【前言】 无数人撞的头破血流告诉我们的一个经验是一个网站如果不做负载后果是不堪设想;负载一是对请求进行分压不至于大流量过来把机器压垮,即使部分机器Down掉网站仍可用(高可用,防止单点故障)。【负载中不得不知的一些秘密】 1.做负载的有很多选择,从大的方面分为两种: (1)硬负载 F5:效率高,成本高 ....原创 2017-06-01 16:45:32 · 19328 阅读 · 10 评论 -
利用Nginx对不同的域名进行解析
【前言】 近期一个项目要上线,在上线的时候需要挂在阿里云的一台服务器上然后通过反向代理代理到我们内网的服务器上。【资源利用到极致】 1.本着将资源利用到极致的理念;我们想了个办法将不同的域名映射到同一台阿里服务器上,然后反向代理到我们的机房中; 2.如何充分的利用机器 (1)利用Nginx可以对不同的域名进行转发...原创 2017-06-01 16:21:54 · 20831 阅读 · 12 评论 -
四种关系九种图看UML
38集的UML视频,看完后画图特别纠结,感觉无从下手,究其原因,视频上讲的都是原理,在学习的时候要先学原理但不能只止步于原理的层次(这或许就是纸上谈兵吧~),还要结合具体项目去实战。故重新打开尘封已久的机房收费系统,温故一下同时又瞄了瞄刚刚写过软工文档,这时再画图的时候才找到了点感觉,总而言之学习要在原理的基础上多多去实践。 UML是一种支持模型化和软件开发图形化...原创 2014-11-12 20:54:18 · 19727 阅读 · 41 评论