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. Nginx 日志记录post数据,并使用goaccess进行日志分析

    nginx日志默认不会记录post数据 在nginx配置文件的http节 log_format 日志格式标识 [escape=json] 日志格式 比如:日志格式标识设置为main,添加escape= ...

  2. 洛谷P5022 旅行 题解 去环/搜索

    题目链接:https://www.luogu.org/problem/P5022 这道题目一开始看的时候没有思路,但是看到数据范围里面有一个: \(m = n-1\) 或 \(m = n\) ,一下子 ...

  3. uni-app学习记录06-Vuex简单使用

    import Vue from 'vue' // 这里引入vuex import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Stor ...

  4. [转]如何让多个不同类型的后端网站用一个nginx进行反向代理实际场景分析

    前段时间公司根据要求需要将聚石塔上服务器从杭州整体迁移到张家口,刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合,断断续续一个月迁移完 成大概优化掉了1/3的机器,完成之后遇到了一些问题,比如曾今 ...

  5. Python--day43--mysql唯一索引和外键变种之多对多

    唯一索引:(unique关键字)unique 名字 (num) 外键的变种:

  6. 【u228】圣诞树

    [问题描述] 圣诞特别礼物挂在一棵圣诞树上,这棵树有n层,每层有一件礼物,每件礼物都有一个价值,有的礼物还有一些连结线,与下层的礼物相连,领取礼物的规则如下:任选一件礼物,它的下面如果有连结线,则可以 ...

  7. SVN常用命令之checkout

    官方解释,请参考:http://www.subversion.org.cn/svnbook/nightly/svn.ref.svn.c.checkout.html 常用检出命令: svn co htt ...

  8. 查看laravel版本

    方法1: 使用php artisan --version ,只要能看懂这个命令的人一定已经具有初步的Laravel知识.再介绍一种不需要命令,直接去文件中去查看的方法. 方法2: 在项目文件中找ven ...

  9. element 树形控件使用

    <el-tree :data="morkDataList" show-checkbox ref="tree" node-key="id" ...

  10. H3C DHCP地址分配方式