自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

咖啡男孩之SRE之路

Spinnaker_CN的布道者

原创 软件从业人员七大问

本人是个从事软件行业十几年的老鸟,想通过本篇博文跟大家分享一些关于职业规划和求职面试方面的经验,同时本文也将会参加CSDN“裁员与面试” 主题征文活动,如果对大家有帮助喜欢可以多多点赞并留下您宝贵的意见,谢谢。 第一问:软件研发职业寿命有多长? “程序员就是青春饭”,“某某企业员工被裁员后跳楼...

2019-03-19 19:22:08 724 2

原创 敏感信息监控通用方案

背景: 春节过后公司有个核心部门遭到竞争对手的强力挖角,所谓铁打的营盘流水的兵,人员的流失并不可怕,公司担心的是wiki这类的文档中心里的设计、方案、策划等核心资料外泄。所以必须要加强文档库敏感操作的监控,及时止损。 分析: 如果文档库是开源或者自研产品,可以通过修改代码满足上述需求,...

2020-06-01 09:18:24 126 0

原创 容器知识了解平行宇宙

平行宇宙,这个科幻片电影中最常引用的概念;容器,这个云原生时代最常提到的技术。这俩本是八竿子打不到一起的东西,今天,我就尝试用容器知识体系来帮助大家理解下平行世界。 正常人理解到三维没有任何困难,就是我们看到的xyz立体空间,但是我们其实活在一个四维空间中,时间就是另一个维度。虽然你周一和周...

2020-05-21 16:02:55 46 0

原创 是否把鸡蛋放在一个篮子里——多云or单云的思考
原力计划

目录 前言: 主题:多云不是银弹 优劣分析: 高可用方面: 成本方面: 易用性方面: 功能方面: 企业战略方面: 总结: 前言: 本人一直专注于多云架构的研究,经常与云原厂人员进行沟通,对单云和多云有一些感触,在这里与大家分享下。 主题:多云不是银弹 多云在很多方...

2020-05-09 18:17:16 82 0

原创 Zuul2代码详解

说明: 1 前面加星号,需要重点掌握 2 zuul2命名规则: 带sync的就是同步,同样的名称不带sync的就是异步 BaseServerStartup只为我们提供了基础的server,这是个抽象类,需要使用者自己来实现。 同理2种InboundFilter、2种OutboundFilte...

2020-04-26 18:25:43 149 0

原创 Zuul2核心架构

Zuul2的核心架构就是就是两大体系,netty体系和filter体系。 1 Netty体系 Zuul2底层采用Netty的事件响应模式,要掌握zuul2就必须先要掌握Netty。 1.1 Channel、Event、EventLoop、EventLoopGroup、ChannelHandl...

2020-04-22 18:19:22 117 0

原创 Lucene结构分析

索引(Index): 一个索引实例就是一个文件夹,该文件夹中所有文件都属于同一个索引。 段(Segment): 一个索引包含1~N个段,段与段之间是独立的,添加新文档可以生成新的段,不同的段可以合并。 具有相同前缀文件的属同一个段,图中共两个段 "_0" 和 "_...

2020-04-03 16:35:43 423 0

原创 Spring Cloud Gateway VS Netflix Zuul2
原力计划

最近公司要引入统一网关,自己也参与调研了几种,当在研究Netflix的Zuul2和SpringCloudGateway时被网络上杂七杂八的材料跟震惊了,不客气地说很多国内博客都是在误人子弟,充斥着那些基于SpringCloud全家桶号称自己使用的是zuul2的“专家”。所以下定决心用一个系列好好介...

2020-04-03 16:30:44 225 0

原创 Spinnaker第十节—如何开发一个新环节

前面几篇比较枯燥的介绍了orca、clouddriver、deck目录结构和核心代码,本篇将会作为这一系列的终篇为大家分享下如何在spinnaker中开发一个自定义的环节。 需求背景: Spinnaker对于镜像自带了FindImageByTags环节,可以让我们在pipeline中通过tag...

2020-03-13 14:59:57 96 0

原创 Spinnaker第九节—CloudDriver代码详解

CloudDriver遵循NetflixSpinnaker家族标准的代码目录结构: Clouddriver-web是主入口和公共controller,clouddriver-core是抽象和默认实现,clouddriver-XXX是云厂商自定义实现。 clouddriver-web: 关...

2020-03-13 14:49:20 127 0

原创 Spinnaker第八节—Deck代码详解

前沿 说实话作为一个后端语言的工程师来说,Spinnaker的Deck代码是我研究起来最费劲的,因为Spinnaker的UI设计并没有采用antd之类的前端脚手架,而是纯靠angular+typescript+html一点点写出来的,不仅需要有这些js语言的基础,还要找到项目内代码之间的引用关...

2020-02-23 21:19:37 122 0

原创 Spinnaker第七节—Orca代码详解

这个春节假期由于新冠弄得一直在家憋着,闲得无事把spinnaker代码翻出来把每个微服务重新review一遍,做了一些笔记,今天拿来分享一下,后续如果有spinnaker开发或者bug修复可以直接有的放矢。计划先把核心的几个微服务分几期慢慢介绍下:orca、clouddriver、deck,今天先...

2020-02-10 12:16:55 1204 0

原创 Jira的终极应用--Http升级为Https

需求背景: 由于对网络安全的监督和管控越来越严格,chrome等浏览器强制要求https看样子也是大势所趋,所以我们遇到了服务http升级为https协议的需求。我们企业对外的服务早已经是https协议了,但是内部一些工具的改造还在起步阶段,本篇的改造策略只是拿jira和confluence来举...

2020-01-21 17:56:10 1641 0

原创 Spinnaker终极形态-Spinnaker On Spinnaker

实践是推广一个产品或技术的最好的方式,特别在IT行业让产品管理产品本事,就是一种很好的推广方式,例如Docker in Docker、k8s in k8s,这些已经被大家普遍接受。所以我觉得spinnaker要想很好的推广开来,也需要类似的应用方案,我把它称为Spinnaker On Spinna...

2020-01-01 00:01:00 382 0

原创 Spinnaker第六节-开发和使用细节

今年在原版spinnaker的基础上我们和云平台厂商合作支持了阿里云和腾讯云,俗话说“是骡子是马拉出来遛遛“,今年的跨年晚会弹性部分将完全交给spinnaker来处理。现在是圣诞夜,我和小伙伴们还在spinnaker平台上加班做容灾和扩容,希望一周后的”多云多活极致弹性“能给2019年画上完美的句...

2019-12-27 14:40:05 264 0

原创 Jira的终极应用—版本升级与数据迁移

前言: 公司的Jira和Confluence版本太低了,很多敏捷看板相关的功能都不能使用,所以计划直接升级到最新的版本。 当前Jira6.4版本需要升级到8.5.1 当前Conference5.7.1版本需要升级到7.1.0 方案: 升级过程需要保证新版本基础体安装、已使用插件安装;保证...

2019-12-04 02:36:32 397 0

原创 Spinnaker第五节-金丝雀分析

目录 核心思想: 金丝雀分析的意义: 三大分区: 载体区: 监控区: Spinnaker区: 载体区的原理图: 监控区的原理图 Spinnaker区的原理图: 三大区总体图: 思考题: Spinnaker的金丝雀分析并不是Spinnaker通过代码独立完成的,它只是提供了一...

2019-11-26 18:45:32 512 0

原创 云架构师知识图谱

如何成为一个合格的云架构师,至少需要先掌握图谱中出现的所有知识点。 后期会专门开几个专题,针对每一支图谱进行系统讲解,讲透他们的原理、使用方式和应用场景。 ...

2019-11-08 11:54:18 336 0

原创 复盘AutoX微服务技术选型

前言: 去年12月份写过一篇博文《从一个简单需求学习微服务思想》,当时接到了一个需求任务要把企业内部运维栈和工具栈的系统全部管理起来,出于功能和性能扩展维度的考虑,选择用SpringCloud微服务架构来开发,命名为AutoX,到现在已经过去1年了,现在复盘下当时的选择,确实是条正确的道路。 ...

2019-10-28 00:29:59 388 0

原创 Spinnaker产品说明

目录 1 产品简介 2 架构设计 2.1 生命周期 2.2 功能架构 2.3 发布流程 2.4 微服务技术架构 3 Spinnaker的优势 3.1 支持多云 3.2 多种发布策略 3.2.1 无策略 3.2.2 Highlander 3.2.3 Red/Black: 3...

2019-10-07 21:31:09 1924 0

原创 2019云栖大会归来有感

刚从杭州云栖大会回来,今天在CSDN博客中跟小伙伴们分享下大会的内容和我自己的一些见解。 今年这是第十界云栖大会了,命名为APSARA,翻译过来是“飞天”,从这个抬头就可以看出阿里的野心,不过他们确实有“一飞冲天”的资本,因为他们在大会上发布了一些列的黑科技,后面会详细介绍。 阿里...

2019-09-29 23:40:09 479 0

原创 大型在线实时应用解决方案

前言: 各家互联网公司每年都有印有自己图腾的重大活动,例如天猫的双十一、京东的六幺八、芒果TV的跨年晚会等。这些活动不仅会带来流量的激增,同时活动的成败也几乎决定了产品线研发运维人员的荷包收益。所以每当这种大型在线实时应用活动到来时,公司都会提前一个月组成临时战斗小组全力研究各种解决方案,本文我...

2019-09-03 19:26:41 99 0

原创 Spinnaker第四节-对接k8s

前一篇我们介绍了Spinnaker是如何对接和管理实例云的,本篇我们将介绍Spinnaker如何对接k8s Spinnaker在对接实例云时已经为我们做过很好的铺垫,让我们接触到Immutable的发布方式,并体验到随之而来的好处。K8s将Immutable发挥到极致,将版本的创建与销毁由分钟级...

2019-08-22 15:53:36 1300 2

原创 Spinnaker第三节-对接云实例

目录 前言: Infrastructure与实例云对应关系 Spinnaker的Bake阶段 Spinnaker的金丝雀分析 持续集成全流程设计: 部署策略 云平台差异性 注意事项: 1 伸缩规则的继承 2 线上服务不可中断 3 按量计费 常见问题: 1 实例创建后状态不...

2019-08-13 23:45:03 403 0

原创 YAPI工具入门手册

YAPI官方提供了详细的手册,但是对于没集成测试基础的人来说并不是很友好,所以自己一边搭建一边摸索出一个对初学者比较友好的使用手册。 1 登陆 YAPI提供独立用户库、LDAP、oauth2等多种登陆方式,我推荐的方式是LDAP。 2 项目创建 新建项目前一定要先添加分组,因为这个会涉...

2019-07-25 23:30:01 5383 0

原创 YAPI生产规格安装文档

目录 序言:为什么需要API管理工具 1 并行开发 2 Demo快速搭建: 3 自动化测试 4 API文档库 1 安装yarn 2 安装mongodb 3 安装yapi 4 数据库配置鉴权认证 5 启动yapi服务 6 nginx代理 6.1安装nginx 6.2 创...

2019-07-15 21:51:21 439 0

原创 Spinnaker第二节-微服务设计

本篇详细介绍一个spinnaker项目的微服务设计,这里之所以叫微服务设计,而不是叫微服务架构,是因为spinnaker是由Netflix和Google多个开源产品搭建的微服务节点组合成的一个微服务组群,里面掺杂了Go、Groovy、Node.js各种语言,并没有采用流行的Spring Cloud...

2019-06-25 17:17:20 620 3

原创 Jira的高级应用—容灾篇

背景: 我现在生产使用的Jira是安装在物理机上的,而且是一台将近6年的古董机,Jira承载着我们公司日常的工作流任务交互,所以我必须想办法好好保护它。 目前的容灾方案是通过Linux的crontab每天晚上凌晨将DB中的数据和Jira的文件系统做一次异机备份(由于历史原因,我接手的时候就已经...

2019-06-20 15:59:05 511 8

原创 腾讯全球数字生态大会--散记

很荣幸做为战略合作伙伴受邀参加了腾讯在昆明举办的全球数字生态大会,为期三天的大会紧张而充实,关于大会的报道各大媒体都有官方文稿在总结和宣传,这里就以我自己的视角来回顾下大会的几个议题,浅谈自己的想法,就当是自己留一个笔记吧。 主题:互联网下半场开战,风来了 对于这个主题的理解,按字面意思拆...

2019-05-26 19:58:35 385 1

原创 利用supervisor解决kafka自杀问题

1 背景: 我有一套ELK在做日志收集,但是经常莫名其妙的出现kafka自己shutdown的问题,没有周期性,有时候几周一次,有时候几个月一次。 报错日志如下: [2019-05-17 15:17:16,047] ERROR Failed to clean up log for __co...

2019-05-20 23:30:59 1796 5

原创 Spinnaker第一节-What、Why、How

前言 我们公司一直在寻找一种自动化持续交付方案,自己也走过弯路造过一些玩具轮子,直到有一天我的老板发给我们一个spinnaker的链接,才让我认识了这个国外开源产品,打开了一扇窗,看到了更精彩的世界。 不知不觉已经参与spinnaker的研究和实践快一年了,早就有想法在博客中做一个spinna...

2019-04-30 19:38:16 758 5

原创 架构师的三种境界

架构师,在每个程序心里都是一个神圣的职业,那么什么才是真正意义上的架构师呢? 狭义的定义:在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。 广义的定义:系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的...

2019-04-23 00:58:19 1302 3

原创 Web服务http日志收集

目录 需求场景: 架构设计: 端口号: 准备资源: Linux版本: 准备Java环境 ElasticSearch: 下载安装 配置: 启动: Zookeeper 下载安装: 配置: 启动: Kafka 下载安装: 配置: 启动命令: 准备和调试: Logs...

2019-03-09 20:33:53 1049 0

原创 Jira的高级应用—扫雷篇

本文做为Jira深入学习的最后一篇博文,让我来给大家好好介绍下我在整个Jira使用和开发过程中遇到的那些坑,防止后面的兄弟姐妹不要跟我一样炸死在沙滩上。 第一坑:Jira Restful接口版本的问题 Jira的Restful接口格式如下:http://ip:port/rest/api/$...

2019-02-27 23:46:21 1016 0

原创 Jira的高级应用--代码篇

Jira的集成有两种方式 第一种:直接使用现有的轮子,也就是封装好的Jira API客户端代码 第二种:通过Http调用Jira的Restful接口   两者相比第一种功能更丰富一些,但是要掌握Jira的API学习成本比较高,第二种上手更快一些,但是需要自己编程处理各种Response。 ...

2019-02-17 00:51:46 2065 4

原创 Jira的高级应用--实战篇

Jira是个功能强大扩展性很强的一个工具,但就是因为扩展性太强了,导致Jira在实战使用时不太好理解,所以学习Jira必须要提前把重点概念理解清楚。 本篇所有的配置都需要您具备admin的权限,所以请自己搭建一个Jira环境或者找你的管理员给自己账号添加下admin的权限。   一个新项目,...

2019-01-21 23:57:19 3457 0

原创 Jira高级应用--设计篇

作为软件行业的从业者对Jira的概念都不会太陌生,大家都应该在Jira上创建和操作过自己的任务。做为一个任务跟踪工具,Jira内置的workflow和管理员工具基本可以满足我们日常的工作。但是如何才能发挥出Jira的最大价值,结合企业自己的需求去挖掘Jira更高级的应用呢?我打算以一个案例,分为3...

2019-01-12 21:46:16 1288 0

原创 VR+5G+人工智能=互联网新时代

VR 2018年最亮眼的电影当属史蒂文·斯皮尔伯格指导的《头号玩家》,不仅在场面上给足了视觉冲击,而且构造了一个宏大的虚拟世界,电影的核心就是VR。 扎克伯格豪赌未来5-10年内人类将进入VR时代,但是实事求是的讲,到目前为止VR技术还是遇到了很大挑战。我自己也使用过多种VR设备,像笨重而...

2018-12-21 16:59:44 1822 0

原创 从一个简单需求学习微服务思想

从一个案例来看,如何在做架构设计时利用微服务的思想来帮我们解决问题。   背景介绍 公司对产品服务的管理目前还停留在物理机的那种理念,虽然阿里云、AWS、腾讯云、OpenStack等云平台用的不亦乐乎,但仍然停留在针对hostname和ip的管理上。如果想发布一个新版本,需要将设计到的所有机...

2018-12-11 20:52:51 479 0

原创 Jenkins Pipeline的实战详解

我们在Jenkins Pipeline的高效使用 中介绍了JenkinsPipeline的原理和简单的实现方式,本篇我将结合我工作中的案例详细讲解JenkinsPipeline如何对现有的Jenkins脚本做抽象和优化。 先看效果图: 改造前: 改造后: 很直观的可以看到Jenki...

2018-11-27 22:54:31 2088 2

提示
确定要删除当前文章?
取消 删除