中台项目总结

很高兴能参与到中台项目的开发,中台项目是我目前做过的技术最牛逼的项目。之所以开发这个项目,因为核心的性能并不能支撑开门红当天的并发量,出单慢,甚至还出现过宕机的情况。这时中台项目就应运而生,中台项目的要做的就是出单快,为了应对2017年XX公司的开门红活动。而出单快,我认为我们这边项目做下面几件事很重要。一、中台采用的是阿里的分布式dubbo框架,本身就是应对高并发的,数据查询采用redis缓存拦截器查询与服务查询双保险。 二、 中台采用ActiveMQ异步承保,这样中台响应核心的速度就相当快。三、性能测试专门开了一套环境,进行大量的压力测试,然后不断的优化项目。
前面说到了项目技术很牛逼,当然就得说下项目使用到的技术。中台项目使用到了
Dubbo,ActiveMQ,Redis,Spring,Maven,EventBus,Zookeeper,MyBatis,Weblogic,Tomcat。
Dubbo:经过了中台项目Dubbo的开发,我觉得跟WebService有点像。Dubbo是提供者注册服务到注册中心Zookeeper,而WebSerice也是注册服务到一个注册中心。而WebService是一种远程调用技术,而Dubbo是分布式框架,它不局限与远程调用,它还提供了负载均衡服务,提供了的Dubbo服务的管理,提供了Dubbo服务的监控等。
ActiveMQ: 这是一个消息中间件。中间件可以理解成中间商,生产者可以生产商品不直接发给消费者,而是发给中间商,消费者不停得询问有中间商没有商品产品产生,中间商有商品,消费者就把商品消费了。中台与数据交互平台的交易都是通过MQ异步发送,这样做主要是为了中台响应前台的速度快。
Redis:Redis是一个高速缓存数据库,是非关系型的,我觉得应该把它当作一个存key-value的Map容器来看就比较好理解,而redis开发在我们看来比较有难度的,就是缓存key如何定义。目前中台是用用系统来源+业务类型+key+field拼接成缓存key。
Spring:Spring不必多说,现在已经风靡全球,夸张到如果说你做的项目没有用到Spring,有些人会认为你的项目很low。主要是Spring的整合性和扩展性太好了,它可以用来管理项目当中bean,中台的业务bean统一交由Spring管理, 可以进行事务处理,可以整合其他的框架,中台整合了Redis,AcitveMQ,EventBus,MyBatis,其实整合框架其本质也是将bean交给Spring管理。可以进行Aop面向切面编程,中台的Redis缓存拦截器查询采用的就是Spring的Aop操作的。
Maven:有点需要讲下,使用Maven项目不是说不用jar包了,而是用Pom定义了项目依赖哪些jar包,然后把这些jar包从远程仓库中下到本地仓库,然后进行编译。我们项目以前是放在lib目录下,而现在是依赖的是本地仓库目录下的jar包。Maven的关键在于pom.xml文件,这里我主要讲讲jar依赖以及几个maven命令。接下来我说下compiler,clean,package,install这几个命令,首先一个比较关键的点,执行这些命令,项目依赖的jar包首先会去本地仓库去找,如果本地仓库找不到就会去远程仓库(这里的远程仓库指私服或中央仓库),若本地仓库和远程仓库都找不到,那么就会异常,命令会执行失败。这时候怎么解决呢,目前我的解决办法是比较笨,比如编译中台的nb-business项目依赖afp-quartz,afp-common,dip-api等那么我们就执行install -DskipTests命令,然后这些依赖的子模块就会被打成jar包放到maven 本地仓库。
compolie : 编译。将java文件装成class文件,有点不同与以前的javaee项目放在WEB-INF下,它是放在项目的target目录下的
clean :清理,这个clean命令跟eclipse的clean命令有所不同,它是删除项目target目录。而eclipse的clean命令是清除原来的class文件和配置文件,然后重新生成calss文件和配置文件。
package :打包。目前来说一般是打jar包或者打war包,打成jar包是为了给消费者(也可以理解成客户端),让它去调接口。目前中台打api模块的jar包给统一交易平台,让他们可以调用,但是统一交易平台的jdk是1.6的,所以我们还使用1.6的jdk打jar包给统一交易平台。package命令成功执行完后,jar包就产生在target目录下。
install:安装。这个命令是将项目打包后发布本地仓库。
EventBus:EventBus是一款针对Android优化的发布/订阅事件总线。在中台EvnetBus是结合MQ一起使用的,使用EvnetBus创建了推MQ消息的异步事件,在交易结束时触发事件,推送MQ消息。
Zookpeer:zookpeer是一个服务注册中心,中台所有对外的的dubbo服务都是注册在注册中心的,中台调数据交互平台的服务也是从注册中心订阅的。
MyBatis:MyBatis是一个ORM框架,中台这边的bean,*mapper.xml文件都是插件生成的。
Weblogic:中台和数据交互平台的应用服务都是放在weblogic上,weblogic没怎么研究。
Tomcat:Tomcat目前主要是放dubbo-admin这个应用,修改的应用的dubbo.properties,添加需要管理的注册中心,这样注册在注册中心的消费者,服务者,服务状态都可以在dubbo-admin上了解到。
技术就讲到这吧。

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值