1,精通服务端开发,掌握的相关技术有:
C#,SQL Server,EF,ASP.NET MVC,ASP.NET WebApi,ASP.NET SignalR,Redis,RabbitMQ,ELK,Nginx,ASP.NET Core,EF Core
2,熟悉小程序开发
1, 云差旅平台
项目描述:为中大型企业客户提供机票,酒店,火车票和签证预订差旅服务,打通企业OA,HR和报销系统。
使用技术栈:SQL Server,EF,ASP.NET MVC,ASP.NET WebApi,ASP.NET SignalR,Redis,RabbitMQ,ELK,Nginx,ASP.NET Core,EF Core
项目职责:
1) 系统架构方面,为了满足业务不断增长的需求,主导了优行差旅系统架构由单体到分布式演变,提升了系统的性能和可用性。
2) 团队管理方面,带领产品,开发,测试,DBA和设计组同事高效完成工作,通过内部技术分享会提升大家的技术能力。
3) 项目管理方面,积极实践DevOps开发模式,通过GitLab,Jenkins,NuGet,禅道这些优秀的工具提升项目的交付速度和质量。
遇到的问题及解决方案:
手工发布效率低,容易出错且影响用户使用?
引入DevOps开发模式,借助GitLab,Jenkins和NuGet等优秀工具实现持续部署和持续集成,使用Nginx和dyups扩展模块实现无损发布,提升用户使用体验。
2,机票系统(https://flights.ctrip.com/)
项目描述:为用户提供航班查询和预订服务。
使用技术栈:SQL Server,EF,WCF,ASP.NET MVC,ASP.NET WebApi,Redis,RabbitMQ,MongoDb,Nginx
项目职责:
1) 机票业务系统架构及技术选型。
2) 性能问题分析和解决。
3) 新技术研究,验证和应用。
4) CodeReview。
遇到的问题及解决方案:
a, 航班查询慢的问题?
最慢的查询需要十多秒,严重影响用户的使用体验。
我们从前端,后端,代码层,数据库层和外部接口去分析,发现主要的性能瓶颈在调用中航信的查询接口上,结合航班查询的业务特点查询多且允许数据有延时,我们使用了redis缓存,并且结合消息队列rabbitmq异步刷新缓存,结果将查询速度控制在3秒以内。
b, 应用服务器上集群后,碰到session一致性的问题?
为了提升应用服务器的处理能力,所以上了集群,然后碰到如何解决Session一致性的问题。
这个问题的解决方案有很多,比如:Session同步法,客户端存储法,反射代理hash一致性和后端统一存储。
我们选择的是后端统一存储方案,session放到redis中,既解决了Session一致性的问题,web服务器重启Session也不会丢失。
3,日志平台
项目描述:为公司内部其它业务系统提供统一API写日志,方便日志的集中管理和快速分析定位问题。
使用技术栈:SQL Server,dapper,ASP.NET MVC,ASP.NET WebApi,Redis,RabbitMQ,ELK
项目职责:
1) 系统架构方面,经历三个版本的演变,第一个版本使用线程安全的ConcurrentQueue,第二个版本引入了消息队列(RabbitMQ),天生的高并发,第三个版本引入了ELK,解决数据量大的问题。
2) 独立带领4人团队开发,1个月时间内完成第一个版本上线。
遇到的问题及解决方案:
高并发的问题和数据量大的问题?
针对高并发的问题,主要是引入了消息队列RabbitMQ来解决。针对数据量大的问题,引入了ELK(ElasticSearch+Logstash+Kibana),实现近似实时的日志分析平台。
1, 优行云差旅平台(http://www.ubtrip.com.cn/) 项目描述:为中大型企业客户提供机票,酒店,火车票和签证预订差旅服务,打通企业OA,HR和报销系统。 使用技术栈:SQL Server,EF,ASP.NET MVC,ASP.NET WebApi,AS
1,机票系统(https://flights.ctrip.com/) 项目描述:为用户提供航班查询和预订服务。 使用技术栈:SQL Server,EF,WCF,ASP.NET MVC,ASP.NET WebApi,Redis,RabbitMQ,MongoDb,Nginx 项
1,日志平台 项目描述:为公司内部其它业务系统提供统一API写日志,方便日志的集中管理和快速分析定位问题。 使用技术栈:SQL Server,dapper,ASP.NET MVC,ASP.NET WebApi,Redis,RabbitMQ,ELK 项目职责: 1) 系统