摘要: 最近,开源社区发生了一件大事,那个全国 Java 开发者使用最广的开源服务框架 Dubbo 低调重启维护,并且 3 个月连续发布了 4 个维护版本。 我上次在写放弃Dubbo,选择最流行的Spring Cloud微服务架构实践与经验总结这篇文章的时候,就有很多的网友给我留言说,Dubbo 又开始更新 阅读全文
posted @ 2018-04-25 17:12 吴建良 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,之前也写过一些关于Spring Cloud文章,主要偏重各组件的使用,本次分享主要解答这两个问题:Spring Cloud在微服务的架构中都做了哪些事情?Spring Cloud提供的这些功能对微服务的架构提供了怎样 阅读全文
posted @ 2018-04-25 17:11 吴建良 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 今天吃完饭休息的时候瞎逛知乎,突然看到这个一个问题Spring Cloud在国内中小型公司能用起来吗?,吸引了我的注意。仔细的看了题主的问题,发现这是一个好问题,题主经过了一番思考,并且用图形全面的将自己的疑问表达了出来,作为一个研究并使用Spring Boot和Spring Cloud近两年的程序 阅读全文
posted @ 2018-04-25 17:10 吴建良 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 上次写了一篇文章叫Spring Cloud在国内中小型公司能用起来吗?介绍了Spring Cloud是否能在中小公司使用起来,这篇文章是它的姊妹篇。其实我们在这条路上已经走了一年多,从16年初到现在。在使用Spring Cloud之前我们对微服务实践是没有太多的体会和经验的。从最初的开源软件云收藏来 阅读全文
posted @ 2018-04-25 17:09 吴建良 阅读(332) 评论(0) 推荐(1) 编辑
摘要: 随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药。于是就有了分布式系统调用跟踪的诞生。 现今业界分布式服务跟踪的理论基础主要来 阅读全文
posted @ 2018-04-25 17:07 吴建良 阅读(9263) 评论(0) 推荐(0) 编辑
摘要: 时间过的很快,写springcloud(十):服务网关zuul初级篇还在半年前,现在已经是2018年了,我们继续探讨Zuul更高级的使用方式。 上篇文章主要介绍了Zuul网关使用模式,以及自动转发机制,但其实Zuul还有更多的应用场景,比如:鉴权、流量转发、请求统计等等,这些功能都可以使用Zuul来 阅读全文
posted @ 2018-04-25 17:06 吴建良 阅读(1148) 评论(0) 推荐(0) 编辑
摘要: 前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个微服务框架已经完成了。 我们还是少考虑了一个问题,外部的应用如何来访问内部各种各样的微服务呢?在微服 阅读全文
posted @ 2018-04-25 17:03 吴建良 阅读(1390) 评论(0) 推荐(0) 编辑
摘要: 我们在springcloud(七):配置中心svn示例和refresh中讲到,如果需要客户端获取到最新的配置信息需要执行refresh,我们可以利用webhook的机制每次提交代码发送请求来刷新客户端,当客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了。使用Spring Clou 阅读全文
posted @ 2018-04-25 17:01 吴建良 阅读(885) 评论(0) 推荐(0) 编辑
摘要: 在前两篇的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息。这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,server端改变IP地址的时候,客户端也需要修改配置,不符合springcloud服务治理的理念。sprin 阅读全文
posted @ 2018-04-25 16:58 吴建良 阅读(827) 评论(0) 推荐(1) 编辑
摘要: 上一篇springcloud(六):配置中心git示例留了一个小问题,当重新修改配置文件提交后,客户端获取的仍然是修改前的信息,这个问题我们先放下,待会再讲。国内很多公司都使用的svn来做代码的版本控制,我们先介绍以下如何使用svn+Spring Cloud Config来做配置中心。 svn版本 阅读全文
posted @ 2018-04-25 16:55 吴建良 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 随着线上项目变的日益庞大,每个项目都散落着各种配置文件,如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多。某一个基础服务信息变更,都会引起一系列的更新和重启,运维苦不堪言也容易出错。配置中心便是解决此类问题的灵丹妙药。 市面上开源的配置中心有很多,BAT每家都出过,360的QConf、 阅读全文
posted @ 2018-04-25 16:53 吴建良 阅读(1079) 评论(0) 推荐(0) 编辑
摘要: Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据。但是只使用Hystrix Dashboard的话, 你只能看到单个应用内的服务信息, 这明显不够 阅读全文
posted @ 2018-04-25 16:49 吴建良 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 说起springcloud熔断让我想起了去年股市中的熔断,多次痛的领悟,随意实施的熔断对整个系统的影响是灾难性的,好了接下来我们还是说正事。 熔断器 雪崩效应 在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应。服务雪崩效 阅读全文
posted @ 2018-04-25 16:45 吴建良 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章我们介绍了eureka服务注册中心的搭建,这篇文章介绍一下如何使用eureka服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务使用的案例。 案例中有三个角色:服务注册中心、服务提供者、服务消费者,其中服务注册中心就是我们上一篇的eureka单机版启动既可,流程是首先启动注册中心 阅读全文
posted @ 2018-04-25 16:36 吴建良 阅读(422) 评论(0) 推荐(0) 编辑
摘要: Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。 背景介绍 服务中心 服务中心又称注册中心,管理各种服务功能包括服务的注册、发现、熔断、负载 阅读全文
posted @ 2018-04-25 16:31 吴建良 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 研究了一段时间Spring Boot了准备向Spring Cloud进发,公司架构和项目也全面拥抱了Spring Cloud。在使用了一段时间后发现Spring Cloud从技术架构上降低了对大型系统构建的要求,使我们以非常低的成本(技术或者硬件)搭建一套高效、分布式、容错的平台,但Spring C 阅读全文
posted @ 2018-04-25 16:21 吴建良 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 1.编写一个支持跨域请求的 Configuration - 第一种方式 - CorsConfig.java 2.HTTP请求接口 - HelloController.java - 第二种方式(推荐) PS:第一种存在一个问题,当服务器抛出 500 的时候依旧存在跨域问题 - index.html 阅读全文
posted @ 2018-04-25 16:10 吴建良 阅读(1383) 评论(0) 推荐(1) 编辑
摘要: 自定义 starter 项目,方便其他地方调用,类似 spring.datasource.url 这种,本次以自己封装的 battcn-starter-swagger 为案例 创建一个Maven工程 battcn-starter-swagger - pom.xml - SwaggerAutoConf 阅读全文
posted @ 2018-04-25 16:08 吴建良 阅读(1367) 评论(0) 推荐(0) 编辑
摘要: 教你如何使用 springProfile 与 springProperty 让你的logback.xml 配置显得更有逼格,当别人还在苦苦挣扎弄logback-{profile}.xml的时候 你一个文件就搞定了… - springProfile 该 <springProfile> 标签允许我们更加 阅读全文
posted @ 2018-04-25 16:03 吴建良 阅读(36544) 评论(0) 推荐(0) 编辑
摘要: SpringBoot支持了两种数据库结构版本管理与迁移,一个是flyway,一个是liquibase。其本身也支持sql script,在初始化数据源之后执行指定的脚本,本章是基于 Liquibase 开展… - Liquibase 开发人员将本地开发机器上的基于文本的文件中的数据库更改存储在本地数 阅读全文
posted @ 2018-04-25 15:58 吴建良 阅读(3018) 评论(0) 推荐(0) 编辑