通过上一篇《消息驱动的微服务(消费组)》的学习,我们已经能够在多实例环境下,保证同一消息只被一个消费者实例进行接收和处理。但是,对于一些特殊场景,除了要保证单一实例消费之外,还希望那些具备相同特征的消息都能够被同一个实例进行消费。这时候我们就需要对消息进行分区处理。 使用消息分区在Spring Cloud Stream中实现消息分区非常简单,我们可以根据消费组示例做一些配置修改就能实现,...

通过之前的《消息驱动的微服务(入门)》一文,相信很多朋友已经对Spring Cloud Stream有了一个初步的认识。但是,对于《消息驱动的微服务(核心概念)》一文中提到的一些核心概念可能还有些迷糊,下面我们将详细的来学习一下这些概念。本文我们就来学习和使用一下“消费组”这一概念。 使用消费组实现消息消费的负载均衡通常在生产环境,我们的每个服务都不会以单节点的方式运行在生产环境,当同一...

在上一篇《使用Swagger2Markup实现API文档的静态部署(一):AsciiDoc》中,我们介绍了如何使用Swagger2Markup将Swagger文档转换成AsciiDoc,再将AsciiDoc转换成静态HTML。下面,本文将继续介绍Swagger2Markup可以转换的另外两种格式:Markdown和Confluence。 Swagger2Markup简介Swagger2M...

很多时候,我们在构建系统的时候都会自己创建用户管理体系,这对于开发人员来说并不是什么难事,但是当我们需要维护多个不同系统并且相同用户跨系统使用的情况下,如果每个系统维护自己的用户信息,那么此时用户信息的同步就会变的比较麻烦,对于用户自身来说也会非常困扰,很容易出现不同系统密码不一致啊等情况出现。如果此时我们引入LDAP来集中存储用户的基本信息并提供统一的读写接口和校验机制,那么这样的问题就...

在这篇文章中将我们一起来探讨当前的API网关的现状和未来。 一. API网关的用处API网关我的分析中会用到以下三种场景。 1.Open API。 企业需要将自身数据、能力等作为开发平台向外开放,通常会以rest的方式向外提供,最好的例子就是淘宝开放平台、腾讯公司的QQ开放平台、微信开放平台。 Open API开放平台必然涉及到客户应用的接入、API权限的管理、调用次数管理等,必然...

在应用程序上线之前,有多少人做过性能测试? 估计大部分开发者更多地关注功能测试,并且会提供一些单元测试和集成测试的用例。然而,有时候性能漏洞导致的影响比未发现的业务漏洞更严重,因为性能漏洞影响的是整个系统,而不仅仅是一个业务进程。 可能你们很多人听过 JMeter ,但是今天将介绍有竞争力的解决方案 —— Gatling 。它能生成丰富多彩的报告,包含测试案例中收集的所有指标。该功能似乎比 ...

2017年是“微服务”疯狂的一年,如同股灾前的狂欢,各种不同行业的技术团队都在宣讲着自己微服务实践的道路。然而大家是否有反思过自己真的在玩“微服务”吗?您真的在“微服务”中受益了吗?还是为了凑这波的热点,而被折腾的疲惫不堪? 下面的内容是《The Death of Microservice Madness in 2018》一文的翻译,本文很好地阐述了“微服务”在带来诸多优势的同时也对技术团...

在阅读本文之前,您先需要了解Swagger的使用,如果您还不知道它是用来干嘛的,请先阅读《Spring Boot中使用Swagger2构建强大的RESTful API文档》一文。 前言在学会了如何使用Swagger之后,我们已经能够轻松地为Spring MVC的Web项目自动构建出API文档了。但是,如前文方式构建的文档必须通过在项目中整合swagger-ui、或使用单独部署的swagg...

通过《Spring Cloud构建微服务架构:消息驱动的微服务(入门)》一文,相信大家对Spring Cloud Stream的工作模式已经有了一些基础概念,比如:输入、输出通道的绑定,通道消息事件的监听等。下面在本文中,我们将详细介绍一下Spring Cloud Stream中是如何通过定义一些基础概念来对各种不同的消息中间件做抽象的。 下图是官方文档中对于Spring Cloud Str...

开篇: 如果在诸多热门云计算技术中,诸如容器、微服务、DevOps、OpenStack 等,找出一个最火的方向,那么非微服务莫属。尽管话题炙手可热,但对传统行业来说,微服务落地和方法论目前处于起步阶段。 本报告于2017年11月份展开,从驱动因素、落地现状、和容器关系、架构体系、未来趋势和落地方法论等方面对微服务进行了分析。希望能够为传统企业微服务决策、规划和实施提供依据和解决办法。 驱动...