springcloud
文章平均质量分 75
spongeboblz
不要怂,就是干
展开
-
SringCloud Feign使用
目录微服务服务发现与服务注册-EurekaSpringCloud定制Ribbon客户端负载均衡策略Feign简介Feign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求,这整个调用过程和Dubbo的R...原创 2018-06-02 17:54:03 · 812 阅读 · 0 评论 -
Hmily 源码解析(二)—— 执行主体方法
Hmily 源码解析(二) 由于篇幅过长,我们把执行主体方法部分单独拎出,以方便阅读。前面我们执行完了Hmily切面的前置操作,现在要执行主体方法了首先第一步就是将Order实例存储到数据库中,这一步就是对order表执行了try操作,这是我们的第一个try操作第二步执行扣减库存操作,inventoryClient.decrease方法是fegin接口,且拥有@Hmily...原创 2019-05-12 01:00:49 · 792 阅读 · 0 评论 -
Hmily 源码解析(二)
TCC流程这篇我们按照try成功,confirm成功的流程来一步步看一下hmily究竟是如何实现这些功能的。首先我们要启动一下这四个微服务。* 接着我们访问hmily-demo-springcloud-order下的orderPay接口,count为1,amount为1随着程序的调用最终会调用到该方法makePayment,这个方法里面就是我们的分布式事务逻辑。我们可以看到一共有三...原创 2019-05-06 22:46:58 · 2322 阅读 · 1 评论 -
Hmily 源码解析(二)—— Hmily事务工作流程
Hmily 源码解析(二)前言这一篇不想谈论Hmily源码的技术实现,而是想在过了一遍hmily的实现后把hmily的工作思路单独地整理出来再进行一次总结。看看能不能进一步有所得。以hmily-demo-springcloud为例,它的实现思路如下。Hmily事务工作流程首先它是基于切面编程来实现分布式事务的操作,及通过日志记录TCC事务的信息以保证最终一致性。前...原创 2019-05-14 00:14:31 · 2958 阅读 · 4 评论 -
Hmily 源码解析(一)
第一次看源码,也是第一次写分析源码的博文,写的不足之处希望多见谅。Hmily 是分布式事务框架,基于TCC分布式事务概念。关于TCC概念我这边就不复述了,本博文基于对TCC概念有了解的基础上解析Hmily框架的实现。我计划将从两个维度进行分析,一个是业务流转的过程,通过状态的流转,方法调用来分析Hmily。另一个是从类功能的角度分析Hmily。主要以业务流转为主,类功能为辅解析Hmily的实...原创 2019-04-27 15:53:32 · 4827 阅读 · 0 评论 -
spongeboblz的博客——SpringCloud
微服务服务发现与服务注册-EurekaSringCloud Feign使用SpringCloud Hystrix使用Spring Cloud Turbine使用SpringCloud zuul 网关的基本使用SpringCloud Zuul的回退与过滤器SpringCloud Sidecar使用Spring Cloud Conf 简单使用Spring cloud conf 配置...原创 2018-12-31 20:10:11 · 249 阅读 · 0 评论 -
SpringCloud Sidecar使用
目录待补Sidecar简介在springcloud的项目中,我们需要允许使用不同语言去实现微服务,但是非java语言是无法接入eureka,hystrix,fegin,ribbon等相关组件。有一种思路就是启动一个代理的微服务,由该代理微服务同非jvm服务交流,并接入eureka等相关组件。Sidecar就是该思路的实现,总结的说就是作为一个代理的服务来间接性的让其他语言...原创 2018-06-28 17:15:52 · 8265 阅读 · 9 评论 -
SpringCloud Zuul的回退与过滤器
目录待续Zuul的回退fallbackhystrix具有fallback回退能力,如果服务调用出现了异常,则可以执行指定的fallback方法。那现在zuul对api服务集群进行了反向代理,集成了hystrix,那zuul也能fallback了同样也拥有了hystrix回退的能力。fallback实例1.创建回退类并集成ZuulFallbackProvide...原创 2018-06-28 11:51:43 · 1153 阅读 · 0 评论 -
SpringCloud zuul 网关的基本使用
目录待补Zuul简介在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关(API Gateway )根据请求的url,路由到相应的服务。当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个we...原创 2018-06-27 18:03:44 · 1213 阅读 · 0 评论 -
spring cloud conf 的认证,高可用和自动刷新
目录待补中心认证中心认证和之前eureka的认证方式一致,通过 security 安全认证 1.server添加依赖<dependency> <groupId>org.springframework.boot</groupId&原创 2018-07-02 17:05:54 · 185 阅读 · 0 评论 -
Spring cloud conf 配置中心 属性加解密
目录待补对称加解密1.首先要添加加解密的配置,即需要在JVM添加JCE扩展.下载JCE 安装对应的java版本 :java8的版本\jdk1.8.0_161\jre\lib\security 路径下替换文件local_policy.jar, US_export_policy.jar2.server端添加配置文件bootstrap.xml若在appli...原创 2018-07-02 11:16:19 · 923 阅读 · 0 评论 -
Spring Cloud Turbine使用
目录待补Turbine简介hystrix只能实现单个微服务的监控,可是一般项目中是微服务是以集群的形式搭建,一个一个的监控不现实。而Turbine的原理是,建立一个turbine服务,并注册到eureka中,并发现eureka上的hystrix服务。通过配置turbine会自动收集所需hystrix的监控信息,最后通过dashboard展现,以达到集群监控的效果。T...原创 2018-06-27 09:40:22 · 1991 阅读 · 0 评论 -
Spring Cloud Conf 简单使用
目录待补SpringCloud Conf简介spring cloud项目中有大量的微服务,有时候将它们的配置信息进行统一管理会更有利于开发以及项目的需要, SpringCloud Conf就是这样一个统一管理配置文件的工具。Spring Cloud Config支持在Git, SVN和本地存放配置文件,使用Git或者SVN存储库可以很好地支持版本管理,Spring默认配...原创 2018-07-02 09:49:37 · 563 阅读 · 0 评论 -
SpringCloud Hystrix使用
目录Hystrix简介Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离系统所依赖的服务,防止服务级联失败,同时提供失败回退机制,更优雅地应对失效,并使你的系统能更快地从异常中恢复。Hystrix能做什么在通过第三方客户端访问(通常是通过网络)依赖服务出现高延迟或者失败时,为系统提供保护和控制在分布式系统中防止级联失败快速失败(Fail fast)...原创 2018-06-26 17:48:39 · 791 阅读 · 0 评论 -
SpringCloud定制Ribbon客户端负载均衡策略
前言在项目中,我们部署一个微服务的时候往往是集群的形式部署的,这样既能提高并发量,又能保证系统的健壮性。相对的对于这个集群我们需要采取一定的策略保证负载均衡。再说一句,ribbon的工作原理是从注册中心获取集群的地址列表,再按一定策略选取一个微服务的地址进行链接。这就是客户端发现模式。Ribbon在Eureka中的使用添加依赖 * 在Eureka下使用不需要添加Ribbo...原创 2018-06-02 15:22:38 · 1588 阅读 · 1 评论 -
服务发现与服务注册-Eureka
目录微服务服务发现与服务注册什么是服务发现与服务注册简单的来说就是一个微服务要调用另一个微服务,就必须知道这个微服务的地址及端口信息。采用一张注册表,注册上线可用的微服务及相关信息,微服务则从注册表上查找所需的其它微服务的相关信息。有两种主要的服务发现模式:客户端服务发现(client-side discovery)和服务器端服务发现(server-side d...转载 2018-05-29 22:19:56 · 2139 阅读 · 2 评论 -
微服务
单体架构一个归档包包含了应用所有功能的应用程序, 我们通常称之为单体应用。架构单体应用的架构风格,我们称之为单体架构,这是一种比较传统的架构风格。 在单体架构,我们的所有程序代码都在一个war包内。在规模较小,功能数、吞吐量都不高的时候是很适宜的。但是随着系统规模的扩大,单体架构所暴露出来的问题也就越多,实践证明它也不适用于大型项目的开发。单体架构主要问题有以下几点。单体架...原创 2018-05-28 22:31:55 · 317 阅读 · 0 评论 -
Hmily 源码解析(二)—— 调用微服务
由于篇幅过长,将该模块单独拎出一节,接上文Hmily 源码解析(二)—— 执行主体方法上文我们把主体方法的执行及Feign的相关配置讲解了,知道在调用微服务时把对应的HmilyTransactionContext实例以“HMILY_TRANSACTION_CONTEXT”为key作为请求参数一同发送过来,及调用微服务成功之后会把调用接口的方法(有@Hmily注解的)封装为HmilyPa...原创 2019-05-12 15:52:49 · 808 阅读 · 1 评论