微服务
推敲
专注于企业信息化/工作流/微服务
展开
-
Spring Boot Admin使用及心跳检测原理
Spring Boot Admin是在Spring Boot Actuator的基础提供简洁的可视化WEB UI,是用来管理 Spring Boot 应用程序的一个简单的界面。本文介绍如何使用Spring Boot Admin以及讲解心跳检测/健康检测的实现原理原创 2017-08-08 16:25:01 · 17870 阅读 · 4 评论 -
基于docker的微服务容器化与编排
准备在本人的微服务系列中,已经演示了各个spring cloud微服务组件的使用,以及相关的示例微服务应用。在每次启动微服务和对微服务进行扩容、缩容都不方便,本文使用docker-compose将以下的微服务容器化,并进行自动化部署。相关代码请参考:springcloud-demo 各服务治理组件的介绍,请参考我的微服务系列文章。1.微服务治理组件列表 名称 描述 内部端口 暴露端原创 2017-09-04 15:12:06 · 14443 阅读 · 0 评论 -
Spring Cloud Config配置详解
在前文服务注册Eureka原理及集群配置中,我们配置Eureka集群时,可以通过--spring.profiles.active=peer1来指定微服务在启动时使用哪段配置。但往往在微服务架构中,需要维护大量的配置文件,在开发、测试、生产环境,这些配置文件又有所不同,同时还希望能做到修改配置文件时,微服务能够不停止服务。也就是说在微服务架构中,对于配置文件,通常有如下的需求 - 配置文件集中管理原创 2017-09-04 15:11:14 · 14323 阅读 · 1 评论 -
Hystrix监控的配置详解
在微服务架构中,hystrix处理容错外,还有实时监控功能,在服务发生调用时,会将每秒请求数、成功请求数等运行指标记录下来。本文示例代码:springcloud-demo 其中本文相关的项目有: - 服务发现 Eureka Server: discovery - 链路追踪 sleuth+zipkin:trace - 服务提供者:hello - 服务提供者: world - 服务消费者:原创 2017-09-04 15:09:55 · 6941 阅读 · 0 评论 -
断路器hystrix原理及使用
原理在微服务架构中,服务之间形成调用链路,链路中的任何一个服务提供者都可能面临着相应超时、宕机等不可用的情况,在高并发的情况下,这种情况会随着并发量的上升恶化,形成“雪崩效应”,而断路器hystrix正是用来解决这一个问题的组件。断路器基本原理为: - 正常情况下,断路器关闭,服务消费者正常请求微服务 - 一段事件内,失败率达到一定阈值(比如50%失败,或者失败了50次),断路器将断开,此时不再原创 2017-09-04 15:08:56 · 2028 阅读 · 0 评论 -
自定义feign配置与服务调用的安全验证
feign的使用,可以简化服务之间的调用,让服务之间调用更加优雅,本文从feign自定义配置和创建feign完成服务之间复杂权限验证,来进一步理解和定制feign。本文示例参考了《Spring Cloud与Docker微服务架构实践》自定义配置创建Feign的配置类@Configurationpublic class FeignConfiguration{ @Bean pu原创 2017-09-04 15:06:54 · 22198 阅读 · 8 评论 -
Ribbon负载均衡策略与自定义配置
Ribbon负载均衡策略配置对调用的某个服务启用某种负载策略1)通过配置文件配置hello: ribbon: NFLoadBalancerRuleClassName:com.netflix.loadbalancer.RandomRule2)通过java注解配置@Configurationpublic class RibbonConfiguration{ @Bean原创 2017-09-04 15:06:21 · 6983 阅读 · 1 评论 -
服务注册Eureka原理及集群配置
基本原理上图是来自eureka的官方架构图,这是基于集群配置的eureka; - 处于不同节点的eureka通过Replicate进行数据同步 - Application Service为服务提供者 - Application Client为服务消费者 - Make Remote Call完成一次服务调用服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka原创 2017-09-04 15:05:48 · 33851 阅读 · 9 评论 -
微服务之间的调用(Ribbon与Feign)
概述在前面的文章中,我们讲了使用Eureka作为服务注册中心,在服务启动后,各个微服务会将自己注册到Eureka server。那么服务之间是如何调用?又是如何进行负载均衡的呢?本文讲讲服务之间调用及负载均衡Ribbon。目前,在Spring cloud 中服务之间通过restful方式调用有两种方式 - restTemplate+Ribbon - feign从实践上看,采用feign的方式更优原创 2017-09-04 15:05:08 · 71102 阅读 · 17 评论 -
多线程在微服务API统计和健康检查中的使用
本文介绍了在微服务API统计/限流中和健康检查中,使用多线程/CountDownLatch的使用原创 2017-08-06 14:16:13 · 1573 阅读 · 0 评论 -
Spring Cloud构建微服务架构:Consul服务注册与发现
Spring Cloud Consul项目是针对Consul的服务治理实现。Consul是一个分布式高可用的系统,它包含多个组件,但是作为一个整体,在微服务架构中为我们的基础设施提供服务发现和服务配置的工具。转载 2017-08-05 19:19:30 · 480 阅读 · 0 评论 -
Spring Cloud构建微服务架构:Eureka服务注册与发现
它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等。本文讲解Eureka在Spring boot下如何实现服务治理。转载 2017-08-05 16:52:32 · 1156 阅读 · 0 评论 -
基于nodejs+zookeeper服务发现
本文使用nodejs作为微服务API网关,从而将消费端的请求,随机路由到一个可用的服务节点上。原创 2017-08-10 11:08:30 · 7406 阅读 · 0 评论 -
基于ZooKeeper的服务注册实现
本文介绍了在Linux本地环境部署ZooKeeper伪集群,并基于ZooKeeper实现了服务的注册原创 2017-08-09 19:01:58 · 9083 阅读 · 1 评论 -
使用sleuth实现微服务跟踪
在微服务架构中,众多的微服务之间互相调用,如何清晰地记录服务的调用链路是一个需要解决的问题。同时,由于各种原因,跨进程的服务调用失败时,运维人员希望能够通过查看日志和查看服务之间的调用关系来定位问题,而Spring cloud sleuth组件正是为了解决微服务跟踪的组件。sleuth的原理介绍可以参考这篇文章: [服务链路追踪(Spring Cloud Sleuth)](http://blog.c原创 2017-09-04 15:08:02 · 18324 阅读 · 0 评论