之前写过一篇关于配置中心对配置内容加密解密的介绍:《Spring Cloud构建微服务架构:分布式配置中心(加密解密)》。在这篇文章中,存在一个问题:当被加密内容包含一些诸如=、+这些特殊字符的时候,使用上篇文章中提到的类似这样的命令curl localhost:7001/encrypt -d去加密和解密的时候,会发现特殊字符丢失的情况。 比如下面这样的情况: $ curl localhost:7001/encrypt -d eF34+5edo= a34c76c4ddab706fbcae0848639a8e0ed9…

2020年10月11日 0条评论 32点热度 阅读全文

SpringCloud(第 027 篇)集成异构微服务系统到 SpringCloud 生态圈中(比如集成 nodejs 微服务) - 一、大致介绍 1、在一些稍微复杂点系统中,往往都不是单一代码写的服务,而恰恰相反集成了各种语言写的系统,并且我们还要很好的解耦合集成到自己的系统中; 2、出于上述现状,SpringCloud 生态圈中给我们提供了很好的插件式服务,利用 sidecar 我们也可以轻松方便的集成异构系统到我们自己的系统来; 3、而本章节目的就是为了解决轻松简便的集成异构系统到自己的微服务系统中来的; 二…

2020年10月7日 0条评论 20点热度 阅读全文

我正在一个项目中,该项目具有多个事件驱动的微服务,并且还使用Kubernetes进行负载平衡。所有服务既是发布者又是监听者。当微服务发布事件时,所有侦听器都将捕获该事件(如果它侦听该特定事件)并开始工作。在此之前,此流程没有任何问题: 假设我有一个负责发送电子邮件的微服务。由于高负载,此服务由负载平衡器重复2次。现在,我们有3个电子邮件服务实例。发布“sendMail”事件时,所有3个实例都在捕获该事件并发送自己的电子邮件。在一天结束时,将发送3封电子邮件。 我的问题是,我是否可以配置云总线,以允许我针对这两种情况…

2020年10月7日 0条评论 21点热度 阅读全文

ZuulException REJECTED_SEMAPHORE_EXECUTION 是一个最近在性能测试中经常遇到的异常。查询资料发现是因为zuul默认每个路由直接用信号量做隔离,并且默认值是100,也就是当一个路由请求的信号量高于100那么就拒绝服务了,返回500。 信号量隔离 既然默认值太小,那么就在gateway的配置提高各个路由的信号量再实验。 routes: linkflow: path: /api1/** serviceId: lf stripPrefix: false semaphore: maxS…

2020年10月5日 0条评论 24点热度 阅读全文

项目地址 https://github.com/yinjihuan/kitty-cloud 前言 Kitty Cloud 开源后有以为朋友在 GitHub 上给我提了一个 issues,问为什么项目中要同时集成 Feign 和 Dubbo 两个框架来调用服务。今天就来聊一聊这个问题,然后讲下在 Kitty Cloud 中如何切换使用两种调用方式。 为什么要支持两种协议? 关于支持两种协议,我这个是一个开源项目,主要还是为了让使用者有更多的选择。当然框架本身不是我开发的,我只是使用者而已。 一种协议更统一化,两种协议…

2020年10月5日 0条评论 32点热度 阅读全文

本文,我们将学习 Spring Cloud的另一个组件:zuul,它提供微服务的网关功能,即中转站,通过它提供的接口,可以转发不同的服务。在学习 zuul 之前,我们先接着上一篇的代码,来看看服务提供者是如何提供服务的。 在服务提供者的 module 下创建 HelloController 类,添加内容如下: @RestController public class HelloController { @RequestMapping("index") public String index(){ return "H…

2020年10月2日 0条评论 32点热度 阅读全文

IT 技术发展太快了,就像浪潮一样一波接着一波,朝你迎面扑来,稍不留神就会被巨浪卷至海底而不得翻身。我们必须要学会抓住那些不变的本质或规律,只有这样才能屹立潮头而不倒,乘风破浪,做这个巨变时代的弄潮儿! 2003年,Rod Johnson 创建了 Spring,我在那一年开始了研究生实习。2005年参加工作,通信行业,主力开发语言是 C/C++。在校勤工俭学时捣鼓过 JSP,2005年前后我开始自学 Spring 搭建个人网站,那时 Java 领域最火的开发框架组合就是:Struts + Spring + Hibe…

2020年9月30日 0条评论 24点热度 阅读全文

FEBS Cloud 微服务权限系统 FEBS Cloud是一款使用Spring Cloud Greenwich.SR1、Spring Cloud OAuth2和Spring Cloud Security构建的权限管理系统,前端(FEBS Cloud Web)采用vue element admin构建。FEBS意指:Fast,Easy use,Beautiful和Safe。该系统具有如下特点: 前后端分离架构,客户端和服务端纯Token交互; 认证服务器与资源服务器分离,方便接入自己的微服务系统; 微服务防护,客户…

2020年9月27日 0条评论 24点热度 阅读全文

Spring Cloud 分布式事务管理 在微服务如火如荼的情况下,越来越多的项目开始尝试改造成微服务架构,微服务即带来了项目开发的方便性,又提高了运维难度以及网络不可靠的概率. @[toc]在说微服务的优缺点时,有对比才会更加明显,首先说一下单体式结构 单体式架构 在单体式架构中,系统通常采用分层架构模式(MVC),持久化层、表示层,业务逻辑层。架构主要存在以下问题: 系统内部互相访问,耦合紧密导致难以维护; 各业务领域需要采用相同的技术栈,难以快速应用新技术(例如使用SSH很难向SSM改造); 对系统的任何修改…

2020年9月21日 0条评论 26点热度 阅读全文

什么是网关 在微服务架构里,服务的粒度被进一步细分,各个业务服务可以被独立的设计、开发、测试、部署和管理。这时,各个独立部署单元可以用不同的开发测试团队维护,可以使用不同的编程语言和技术平台进行设计,这就要求必须使用一种语言和平台无关的服务协议作为各个单元间的通讯方式。 换句话说就是网关为所有的请求提供了统一的入口,方便我们对服务请求和响应做统一管理。 为什么要用网关 API 网关是一个处于应用程序或服务(提供 REST API 接口服务)之前的系统,用来管理授权、访问控制和流量限制等,这样 REST API 接口…

2020年9月21日 0条评论 39点热度 阅读全文