微服务架构的优势( 二 )


二、技术解析
2.1is jar,is http
Boot通过@n注解标识为 Boot应用程序 。所有的应用都通过jar包方式编译 , 部署和运行 。
@n
class{
final= .(.class);
void main([] args) {
.run(.class, args);
(”启动成功!");
每个 Boot的应用都可以通过内嵌web容器的方式提供http服务 , 仅仅需要在pom文件中依赖-boot-start-web即可 , 原则上微服务架构希望每个独立节点都提供http服务 。
org..boot
-boot--web
2.2boot Task 任务启动和定时任务
在 Boot需要启动任务时 , 只要继承接口实现其run方法即可 。
@n
class
void run(... ){
ndler();
在 Boot需要执行定时任务时 , 只需要在定时任务方法上增加@(cron = “0 15 0 * * ?”)注解(支持标准cron表达式) , 并且在服务启动类上增加@的注解即可 。
@n
@
class{
final= .(.class);
void main([] args) {
.run(.class, args);
(”启动成功!");
// some class
@(cron = "0 15 0 * * ?")
void () {
***
2.3boot监控

微服务架构的优势

文章插图
是 boot提供的对应用系统自身进行监控的组件 , 在引入-boot-start-web基础上引入-boot--即可 。
org..boot
-boot--
2.4cloud配置中心
在我们实现微服务架构时 , 每个微服务节点都需要自身的相关配置数据项 , 当节点众多 , 维护就变得非常困难 , 因此需要建立一个中心配置服务 。
Cloud 分为两部分 。Cloud作为一个服务进程 ,  CloudFile为配置文件存放位置 。
2.5cloud服务注册中心
服务注册的概念早在微服务架构之前就出现了 , 微服务架构更是把原先的单一应用节点拆分成非常多的微服务节点 。互相之间的调用关系会非常复杂 ,  Cloud 作为注册中心 , 所有的微服务都可以将自身注册到 Cloud 进行统一的管理和访问(和不同 , 在AOP原则中选择了OP , 更强调服务的有效性)
2.6cloud Zuul 服务端智能路由
当我们把所有的服务都注册到(服务注册中心)以后 , 就涉及到如何调用的问题 。Cloud Zuul是 Cloud提供的服务端代理组件 , 可以看做是网关 , Zuul通过获取到可用的服务 , 通过映射配置 , 客户端通过访问Zuul来访问实际需要需要访问的服务 。所有的服务通过..name做标识 , 
不同IP地址 , 相同..name就是一个服务集群 。当我们增加一个相同..name的节点 , Zuul通过和通信获取新增节点的信息实现智能路由 , 增加该类型服务的响应能力 。
2.7cloud客户端智能路由
与 Cloud Zuul的服务端代理相对应 ,  Cloud 提供了客户端代理 。在服务端代理中 , 客户端并不需要知道最终是哪个微服务节点为之提供服务 , 而客户端代理获取实质提供服务的节点 , 并选择一个进行服务调用 。和Zuul相似 , 也是通过和(服务注册中心)进行通信来实现客户端智能路由 。
2.8cloud分布式追踪
2.9cloud调用链
2.10cloud Feign http客户端
Cloud Feign是一种声明式、模板化的http客户端 。使用 Cloud Feign请求远程服务时能够像调用本地方法一样 , 让开发者感觉不到这是远程方法(Feign集成了做负载均衡) 。
把远程服务和本地服务做映射
@(name = "-http", url = "${TP}")
{
@(value = "http://www.kingceram.com/api/",= .GET)