Titan Framework是一款分布式微服务框架,因其具备简单的配置方式,良好的集成性、多样化的支持、丰富的自定义扩展功能,因此它是很是值得咱们去应用的。也正是由于它强大的集群特性,使得它在面对高负载,高并发的状况下表现得绝不逊色。本篇文章将介绍如何使用Titan Framework搭建一个集群的基本Demo。前端
1.Titan Framework依赖包下载spring
Titan Framework依赖包能够在Titan Framework PaaS(https://www.titanframework.cn/)平台上下载,并经过maven添加到本地仓库,本次示例使用的版本号为1.4.1RELEASE。数据库
2.了解Titan Framework的基本组成形式架构
使用过SSM架构的朋友们,确定都有过针对Dubbo集成微服务问题上,被繁琐的配置方式折磨得苦恼不堪的经历,而在Titan Framework中,咱们彻底不须要关注集群配置问题,只须要对集群的地址与端口进行简单配置,其余问题均可以交给框架处理,而后观察业务的理解和拆分便可,这无疑帮助了咱们实现快速的微服务开发。并发
2.1集群配置app
在泰坦框架中,会以如图的结构去读取集群配置文件:框架
在一个集群节点中,conf包用于存放项目中全部的配置文件信息,包括集群配置,数据库的配置以及其余配置,spring包用于存放依赖spring集成的一些其余框架的集成配置文件,cluster.properties就是用于配置集群的配置文件,咱们来看一下它的信息:maven
而对外访问端口则须要在以下的配置文件中去配置,以下图:分布式
在这个文件中,咱们只须要配置server.port便可,以下图:微服务
到这里,关于集群配置的讲述就结束了。
2.2代码层的结构与相对应的做用讲解
熟悉Spring MVC结构的朋友们,对Titan Framework的结构必定不会陌生,咱们来看一下:
Controller包下存放的是提供给外部使用的API,在Titan框架中,为了可以在以往的架构中更好的进行脱藕,特别加入了handler,handler是对于代码逻辑和controller的一个链接层,用于切分在controller中咱们有时会须要执行的代码逻辑,如前端数据传入时的类型检查等。若是将原来介于controller层与service层中的业务逻辑放置其中,Titan Framework会自动将controller传递给handler,而咱们只须要遵循官方API文档中的使用形式便可。自定义的controller须要继承RestfulController类并使用@RestfulController注解表示,自定义的Handler须要继承CommandHandler类并使用@CmdHandler注解表示。而在Titan框架中,全部的请求都经过command进行接收,好比默认的Create、Delete、Get等,这些command就相似在Spring MVC架构里controller中使用的那些二级API,Titan Framework已经为咱们提供了普通需求所须要的command,若是有特殊的须要,它也支持用户自定义command,继承Command类便可。
下面重点讲解一下Titan Framework的Event,在Titan中,Event用于微服务之间的调用,微服务之间信息传递的载体就是Event,Titan Framework提供的Event基类为AppEvent,咱们能够继承这个基类来创造自定义的Event,在Event中,你能够封装数据,能够对数据进行本身的业务操做,这取决于实际的使用状况。在Event中,提供了一个静态的方法发送请求,Publish.send,或是Publish.Tell,前者用于请求远程服务调用,后者用于请求本地服务调用。
当上游信息发送一个携带Event的请求时,Titan Framework就会提供一种能够捕获其余微服务发送请求的基类:EventHandler,咱们能够继承这个类来创造自定义的EventHandler,他的做用就是对Event的请求进行接收与处理,在EventHandler中,最重要的是Feedback.content()方法,它用于直接返回数据给前端,咱们来看一看官方文档给出的详细解释:
经过这个方式返回的数据类型和官方指定的返回封装格式Result是同样的,因此不须要由于格式的问题而再作其余处理。
Launch是用于启动微服务的一个启动器,本地调试的时候能够直接启动这个启动器来启动咱们的微服务。
Repositories包下存放的是为数据库服务的业务逻辑层,相似于SSM结构的mapper层。
Titan Framework对主流的数据库有着直接支持,如MySql、MongoDB、Redis。
到这里,一个基本的结构就已经讲解完毕。
3.一个基本Demo的详解
对应的Controller:
对应的handler:
使用的自定义Event:
使用一个自定义的EventHandler接收发送的跨微服务请求:
告知微服务相互调用简单设置:
到这里为止,咱们就使用Titan Framework构建了一个基本的Spring MVC结构中,除了Mapper的全部部分。