2017年12月份,我离开北京,回到了武汉,开始在现在这家公司担任架构师工作。经过2年的时间,逐步完成以.net core+k8s为核心的技术架构。文末有彩蛋。
以下整理这两年的主要时间节点:

2018年1月到2018年3月

基于.net core的底层框架的封装,封装了数据访问,缓存,消息队列,加解密,日志,文档工具等一系列组成一个项目的必要组件。因为之前有沉淀,这一块的封装并没有花费太大的时间,主要是定标准和规范。

2018年4月到2018年6月

开发一系列公共服务,用户中心,认证授权服务,菜单角色权限。通过这一系列公共服务拆分,实现了单体服务转向微服务化,定义了各个项目的接入标准,为后面的所有业务项目转向新的技术体系打下了基础。

2018年7月到2018年9月

微服务架构选型,放弃了最初设定的以Ocelot+Consul的这套方案,最终决定使用kubernets来做为我们的微服务方案。同时完成CICD的搭建工作,并把每次构建控制在2分钟内,高峰时期每秒达到30多个构建任务,每日最多达到600多次构建。这期间公共服务全部迁入k8s。

2018年10月到1018年12月

业务项目全部开始重构。服务拆分后,大概有200多个独立服务组成新的业务平台,完成由.net framework+windows向.net core+k8s的转型。虽然前期做了大量基础建设工作,这一步还是非常艰难。我们通过大量的培训,大量的加班来协助项目组进行技术转型。

2019年1月到2019年3月

协助项目组进行上线冲刺,其中经历了功能测试,压力测试,在这中间我们学习积累了大量的k8s和.net core相关的经验。

2019年4月到2019年6月

业务组项目全部迁移完成并上线,所有业务迁移到新平台。这段时间主要是监控线上业务的运行情况。期间也经历过几次事故,不过都在可控范围内。通过新的技术方案我们开始从容应对各种线上活动的高并发场景,比如某宝会员日(峰值qps:50W/秒),极大提升了活动的稳定性,也减少了成本的投入。

2019年7月到2019年12月

下半年相对平淡,线上服务正常运行,业务正常的迭代升级,新的业务也在快速的接入,线上环境的集群规模也在一步一步扩大。我们开始把精力放在监控和自动化上面,快速响应线上问题,提高开发效率。

武汉.net召集令

大家看了我上面的流水账一定很好奇,这两年的时间到底做了些什么?是否有你需要借鉴的东西呢?目前各地.net俱乐部活动做了一期又一期,我们大武汉竟然一场活动都没做过,笔者非常着急,非常想为社区贡献一份力量,所以想筹备2020年武汉.net俱乐部活动,目前已经准备了一些分享资料,预计2020年3月或者4月举办第一期线下活动。如果您有场地支持,有好的经验分享或者一些好的想法,请一定要留言告诉我,期待我们武汉的第一次活动能顺利举行。
QQ群:286874323
加我微信备注武汉俱乐部邀请入群:

记录这两年是如何一步一步转型到.net core+k8s的更多相关文章

  1. 【转】oracle 中随机取一条记录的两种方法

    oracle 中随机取一条记录的两种方法 V_COUNT INT:=0; V_NUM INT :=0; 1:TBL_MYTABLE 表中要有一个值连续且唯一的列FID BEGIN SELECT COU ...

  2. 一步一步开发Game服务器(四)地图线程

    时隔这么久 才再一次的回归正题继续讲解游戏服务器开发. 开始讲解前有一个问题需要修正.之前讲的线程和定时器线程的时候是分开的. 但是真正地图线程与之前的线程模型是有区别的. 为什么会有区别呢?一个地图 ...

  3. 【新手出发】从搭虚拟机开始,一步一步在CentOS上跑起来.Net Core程序

    文章背景 微软6月26号发布core 1.0版本后,园子里关于这方面的文章就更加火爆了,不管是从文章数量还是大家互动的热情来看,绝对是最热门的技术NO.1.我从去年底开始接触.net core到现在也 ...

  4. 一步一步教你使用Git

    一步一步教你使用Git 互联网给我们带来方便的同时,也时常让我们感到困惑.随便搜搜就出一大堆结果,然而总是有大量的重复和错误.小妖发出的内容,都是自己实测过的,有问题请留言. 现在,你已经安装了Git ...

  5. 一步一步学EF系列2【最简单的一个实例】

    整个文章我都会用最简单,最容易让人理解的方式给大家分享和共同学习.(由于live Writer不靠谱 又得补发一篇) 一.安装 Install-Package EntityFramework 二.简单 ...

  6. 一步一步教你将开源项目上传到jcenter

    最近闲着看了一下jcenter的使用,也想将自己使用频率比较高的东西抽成类库,然后通过compile来使用,提高开发效率,本来以为挺简单的,但是网上介绍的比较模糊,很多博客也比较老了,不适用,花了我一 ...

  7. 【DG】[三思笔记]一步一步学DataGuard

    [DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)..... ...

  8. 【前端】一步一步使用webpack+react+scss脚手架重构项目

    前言 前几天做了一个项目:[node]记录项目的开始与完成——pipeline_kafka流式数据库管理项目:因为开发时间紧迫,浅略的使用了一下react,感觉这个ui库非常的符合我的口味,现在趁着有 ...

  9. 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](二)

    前言: 在本系列第一篇<一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](一)>中,我为大家介绍了搭建空白解决方案以 ...

随机推荐

  1. Editplus配置java编译运行环境

    1.进入配置环境界面 首先,从菜单"工具(Tools)"->"配置用户工具..."进入用户工具设置. 在类别里展开"工具"树形菜单-& ...

  2. H3C ACL规则的匹配顺序

  3. linux如何查看nginx是否启动

    Nginx是一个高性能的反向代理服务器,现在一般作为我们网站或其他Web服务的第一层代理,用户在浏览器请求首先经过的就是Nginx服务. 如果Nginx服务没有启动或异常结束,将会影响Web服务的正常 ...

  4. webpack学习(一)项目中安装webpack

    如何在项目中安装webpack,webpack-cli? 前提:电脑安装了 node和npm包管理工具 1 创建项目文件夹或者在已有的项目中打开终端  输入相关命令: npm init 因为已经安装好 ...

  5. C++的价值

    In May 2010, the GCC steering committee decided to allow use of a C++ compiler to compile GCC. The c ...

  6. Python--day61--安装Django,Django项目的启动和设置运行端口和关闭运行端口

    0,安装Django 1,Django项目的启动 2,设置运行端口和关闭运行端口

  7. Spring Cloud探路(二) Erueka客户端的建立

    接上篇 1.pom.xml与上篇一致 2.新建包及Application启动类 @Configuration @ComponentScan @EnableEurekaClient @EnableAut ...

  8. 2018-8-10-win10-uwp-绘图--Line-控件使用

    title author date CreateTime categories win10 uwp 绘图 Line 控件使用 lindexi 2018-08-10 19:16:51 +0800 201 ...

  9. JMETER+JENKINS接口测试持续集成

    FIDDER+ANT+JENKINS+JMETER+SVN+tomcat接口测试集成 操作流程: 1.测试人员通过FIDDER过滤抓取接口调用信息,导出成jmx文件.(jmeter支持命令行方式调用j ...

  10. get_free_page 和其友

    如果一个模块需要分配大块的内存, 它常常最好是使用一个面向页的技术. 请求整个页也 有其他的优点, 这个在 15 章介绍. 为分配页, 下列函数可用: get_zeroed_page(unsigned ...