Titan Framework是一款分布式微服务框架,因其具有简单的配置方式,良好的集成性、多样化的支持、丰富的自定义扩展功能,所以它是非常值得我们去应用的。也正是因为它强大的集群特性,使得它在面对高负载,高并发的情况下表现得毫不逊色。本篇文章将介绍如何使用Titan Framework搭建一个集群的基本Demo。
1.Titan Framework依赖包下载
Titan Framework依赖包可以在Titan Framework PaaS(https://www.titanframework.cn/)平台上下载,并通过maven添加到本地仓库,本次示例使用的版本号为1.4.1RELEASE。
2.了解Titan Framework的基本组成形式
使用过SSM架构的朋友们,肯定都有过针对Dubbo集成微服务问题上,被繁琐的配置方式折磨得苦恼不堪的经历,而在Titan Framework中,我们完全不需要关注集群配置问题,只需要对集群的地址与端口进行简单配置,其他问题都可以交给框架处理,然后观察业务的理解和拆分即可,这无疑帮助了我们实现快速的微服务开发。
2.1集群配置
在泰坦框架中,会以如图的结构去读取集群配置文件:
请输入图片描述
在一个集群节点中,conf包用于存放项目中所有的配置文件信息,包括集群配置,数据库的配置以及其他配置,spring包用于存放依赖spring集成的一些其他框架的集成配置文件,cluster.properties就是用于配置集群的配置文件,我们来看一下它的信息:
请输入图片描述
而对外访问端口则需要在如下的配置文件中去配置,如下图:
请输入图片描述
在这个文件中,我们只需要配置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的所有部分。
网友评论