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. JavaScript 鼠标事件

    鼠标事件是Web开发中最常用的一类事件. DOM3级事件中定义了9个鼠标事件,分别如下: click.dbclick.mousedown.mouseenter.mouseleave.mousemove ...

  2. 【原生JS】键盘事件

    视频播放器音量调节效果. 效果图:“我很丑!~可是我有音乐和啤酒!~” HTML: <!DOCTYPE html> <html> <head> <meta c ...

  3. HDU 2674

    0 <= N<=10^9 看到这个数据范围知道常规方法肯定做不出来. 不过一想想既然是mod2009,是不是只要其中含有一个2009,那么其结果一定是0了呢 说了这里思路,就是看什么时候出 ...

  4. java final域

    public final class ThreeStooges { /* * stooges是Set<String>类型的引用,final限定该引用成员属性stooges被赋初值后,就不能 ...

  5. svcs (service status) 和 svcadm (service administration) 使用

    1. svcs  显示服务实例的状态信息 svcs - report service status  显示服务状态命令 DESCRIPTION The svcs command displays in ...

  6. js 操作字符串方法记录

    var str="helloworld"; 这三个方法如果只传一个参数默认截取到最后..将截取的字符返回,对原字符串没有任何改变 slice(star,end)//从索引star开 ...

  7. linux 自动检测 IRQ 号

    驱动在初始化时最有挑战性的问题中的一个是如何决定设备要使用哪个 IRQ 线. 驱动需 要信息来正确安装处理. 尽管程序员可用请求用户在加载时指定中断号, 这是个坏做法, 因为大部分时间用户不知道这个号 ...

  8. IDEA开发 工具IC和IU的区别

    现在很多人都在用IDEA开发工具,那么下载安装时会有ideaIU和ideaIC两个版本,到底该怎么选择呢? 首先: ideaIU:U代表的是Ultimate,这个是官方旗舰版也就是商用版本,官方只提供 ...

  9. H3C查看系统启动配置文件

  10. [POJ2528]Mayor's posters(离散化+线段树)

    Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 70365   Accepted: 20306 ...