- 浏览: 12187 次
最新评论
文章列表
1. 引言
在当前的微服务架构方式下,我们会有很多的服务部署在不同的机器上,相互是通过服务调用的方式进行交互,一个完整的业务流程中间会经过很多个微服务的处理和传递,那么,如何能知道每个服务的健康状 ...
1.背景
l 服务的客户端(包括API网关或者其他服务)如何获取服务端实例的位置
l 每个服务端实例都会在特定的位置(主机及端口)通过HTTP/REST或者Thrift等方式发布一个远程API
l 服务端实例的具体数量和位置会发生动态变化
l 虚拟机与容器通常会被分配动态IP地址
2.方案
2.1 客户端服务发现
向某一服务发送请求时,客户端会通过查询Servcie Registry,即服务注册表来回去该服务的具体位置/该注册表包含全部服务的位置。
2.2 客户端服务发现的优缺点
(1)优点
l 相 ...
Microservice架构模式中的“开”是各个服务的内部实现,而其中的“闭”则是各个服务之间相互沟通的方式
微服务必须使用进程间通信机制来交互。微服务架构有两类IPC机制可选,异步消息机制和同步请求/响应机制。当设计服务的通信模式时,需要考虑几个问题:服务如何交互,每个服务如何标识API,如何升级API,以及如何处理部分失败。(了解源码可+WX: haiwabbc)
1. API GateWay 模式
1.1 背景
当决定将应用当作成一组微服务时,需要决定应用客户端如何与服务端交互。方式有两种:
(1)客户端与服务端直接通讯
...
在实际的项目开发工作中,我们经常会遇到需要做一些定时任务的工作,那么,在 Spring Boot 中是如何实现的呢?
1. 添加依赖
在 pom.xml 文件中只需引入 spring-boot-starter 的依赖即可:
代码清单:spring-boot-scheduler/pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId&g ...
最早我们发邮件的时候是使用 JavaMail 来发送邮件,而在 Spring Boot 中, Spring Boot 帮我们将 JavaMail 封装好了,是可以直接拿来使用的。
1. 依赖文件 pom.xml
代码清单:spring-boot-mail/pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-bo ...
1. 前言
RabbitMQ 是一个消息队列,说到消息队列,大家可能多多少少有听过,它主要的功能是用来实现应用服务的异步与解耦,同时也能起到削峰填谷、消息分发的作用。
消息队列在比较主要的一个作用是用来做 ...
1. 什么是响应式编程
在计算机中,响应式编程或反应式编程(英语:Reactive programming)是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。
例如,在命令式编程环境中,a=b+c 表示将表达式的结果赋给 a,而之后改变 b 或 c 的值不会影响 a 。但在响应式编程中,a 的值会随着 b 或 c 的更新而更新。
响应式编程是基于异步和事件驱动的非阻塞程序,只需要在程序内启动少量线程扩展,而不是水平通过集群扩展。
设想一个场景,从底层数据库 ...
1. Pinpoint概述
Pinpoint是一个由韩国人编写的为大型分布式系统服务的链路跟踪平台,并提供大量链路跟踪数据分析汇总解决方案。自2012年7月开始开发,与2015年1月做为一个开源项目推出。
2. Pinpoint主要特性
分布式事务跟踪,跟踪跨分布式应用的消息。
自动检测应用拓扑,帮助你搞清楚应用的架构。
水平扩展以便支持大规模服务器集群。
提供代码级别的可见性以便轻松定位失败点和瓶颈。
使用字节码增强技术,添加新功能而无需修改代码。
3. Pinpoint优势
无入侵:采用字节码增强技术,新增功能无需修改代码。
性能高:对性能的影响非常小(资源使用 ...
1. Skywalking概述
Skywalking与2016年11月2日由国人吴晟在Github上传v1.0版本,用于提供分布式链路追踪功能,从5.x开始,成为一个功能较为完善的APM(Application Performance Management)系统,2019年4月17日从Apache孵化器毕业,正式成为Apache顶级项目。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。官方对自己介绍是专为微服务,云原生和基于容器(Docker,Kubernetes,Mesos)架构而设计。
2. Skywalking主要功能
服务,服务实例,端点指标分析
根本原因 ...