连咖啡微信公众号
基于微信的O2O公众号咖啡销售平台。销售自有咖啡品牌coffee box的咖啡。提供咖啡下单,请好友咖啡,购买咖啡入库等功能。以及连咖啡提供的各类线上活动。
后端框架:spring,springMVC,mybatis,spring data jpa,memcache,xxl-job,guava。
前端框架:react
数据库:mysql
版本控制:git
项目构建:maven
运行环境:tomcat,jetty,nginx
1. 本项目主要由微信公众号后台服务端,定时任务执行器,线上活动管理系统组成。
2. 本项目部署在阿里云服务器上,采用阿里云提供的弹性伸缩架构,使用redis实现session共享。采用xxl-job作为定时任务的调度器。
3. 本项目使用阿里云的消息服务实现异步消息处理,使用rocketMQ实现与其他项目的交互。
4. 在本项目中,我主要负责开发退款模块,优惠模块,下单模块,咖啡库模块,抢购秒杀模块等核心业务模块的开发。
5. 在退款模块中,使用观察者模式将退款申请与审核等流程与各类资源的回滚及调用第三方支付平台的退款接口等操作进行解耦。
6. 在优惠模块中,针对不同的优惠使用限制,采用责任链模式将各种使用限制进行拆分。
7. 在抢购秒杀模块中,为了应对高并发,采用redis作为消息队列,实现用户请求与实际的业务逻辑异步处理,保证核心业务逻辑的正确及稳定执行。
8. 使用cas实现单点登录功能,从而将与本项目关联度极高的部分后台管理功能从原后台管理系统中拆分出来。使用jquery作为本后台管理系统的前端框架。
融E购商城
融E购商城是工商银行推出的一个综合性的B2C平台,由工行负责整个网站的运营。整个网站提供了非常多的功能,采用分布式的架构设计。包括后台管理,前台系统,订单系统,单点登录系统,搜索系统,会员系统,客服系统,支付系统等。
后台框架:Spring,SpringMVC,Mybatis,redis,rabbitMQ,solr
前台框架:JQuery、ExtJs
数据库:oracle
版本控制:svn
项目构建:maven
运行环境:tomcat,WebSPhere,nginx
在本项目中,我参与了后台管理模块,前台系统,登录系统,购物车系统,搜索系统模块的开发,并参与了项目测试环境的部署和测试。
1.后台管理系统:主要实现商品管理、商品规格参数管理、订单管理、会员管理等、CMS等,并提供了跨域的支持。通过扩展spirng提供的jackson数据转化器实现支持jsonp的跨域请求。提供了RESTful风格的接口为其他系统提供服务。
2.前台系统:主要是面向用户访问,使用Httpclient和后台系统接口做交互,并且使用Httpclient的连接池技术。
3.单点登录系统,主要是提供集中用户登录凭证的集中解决方案,提供和用户信息相关的接口,比如说用户注册、登录等接口。登录成功后将客户信息存于redis中。
4.搜索系统,主要是提供商品的搜索,采用Solr实现。
5.购物车系统,在未登录状态和登录状态都可以添加购物车,在用户登入时会将未登入时的购物车合并入登录用户的购物车。
6.使用redis提供缓存,并redis做了集群来保证redis服务的高可用。
7.针对不同系统间的缓存数据的同步已经搜寻系统的索引同步问题。引入了rabbitMQ消息中间件。其最大的优点是解耦,大大的降低了各系统之间的耦合度。
8.部署方面,采用了Nginx+tomcat的模式,其中nginx的作用一方面是做反向代理、负载均衡、另一方面是做图片等静态资源的服务器。