`
KingwarLuo
  • 浏览: 12720 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

2016.11-2017.6工作感想

 
阅读更多

可以说是幸运的一年,这一年弥补了之前缺失的技术和框架理解,对后端框架有了更全面的认知。

 

这家公司工作氛围很不错,老板是个爱钻研新技术的技术狂,手下个个都是能独当一面的工程师,我刚进来有种土鳖进城的感觉。可是老板面试我的时候,没问太多技术问题,我当时还在想这家公司会不会很烂,结果证实我的选择是正确的。

 

说起项目,一开始就三个人,一个架构师,一个项目经理,还有我这个辅助。看得出并不是主要的角色。

我们做的是取号叫号系统,整个流程大部分是结构师完成。我负责管理后台,配置取号叫号事项和取号规则的分配。

 

咋一看是个简单的系统,其难点就在于叫号并发的处理(当然我们用锁机制轻松搞定)、取号速度(用Redis存缓存)的问题。

 

我们用到的技术和架构都比较复杂。首先管理后台配置的数据要加载到Redis,取号叫号记录在Redis也要保存5天以后的数据,不保存多天是因为Redis会耗内存。其次,由其他接口同步的停车数据、取号叫号预约记录、车辆进场记录、事项从其他系统同步的记录都会用数据仓库Elasticsearch保存下来,当做以后日志查询,要注意的是Elasticsearch版本  1.X   2.X  5.X  差距非常大,代码的写法和包的引用差别都很大。还有用到消息队列ActiveMQ+并发处理akka来保证Elasticsearch写入不会遗漏。并且取号工程用nginx做负载。

 

值得一提的是,我们有多端预约机制,用了cxf webservice来提供服务,微信端和网页端预约前后端分离。log4j也是个好用的日志框架,帮助我们快速定位错误。听说log4j2效率比log4j高10倍,但是鉴于项目时间考虑,就没换成log4j2了。

项目还涉及调用评价器、调用LED显示器、取号机框体的硬件接口调用。

 

5月,架构师和经理都走了,就剩下我孤军奋战。还好当时我对这些框架已经了解的差不多了,大部分问题还是能应付。最近又搞了次迁移,ES用自带集群机制、ActiveMQ用了zookeeper做集群,Redis用了它自带的主从机制做集群,集群台数都要用奇数。启动了ES 5.X的新特新 ELK框架做日志分析。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics