微服务
ZeekerLin
技术 产品 管理
——若要前行,就得离开你现在停留的地方
展开
-
Hystrix 使用与分析
一:为什么需要Hystrix?在大中型分布式系统中,通常系统很多依赖(HTTP,hession,Netty,Dubbo等),如下图: 在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:如网络连接缓慢,资源繁忙,暂时不可用,服务脱机等.如下图:QPS为50的依赖 I 出现不可用,但是其他依赖仍然可用. 当转载 2016-12-12 19:43:59 · 464 阅读 · 0 评论 -
Spring Cloud实战(七)-Spring Cloud Netflix Zuul
概要什么是Spring Cloud Netflix Zuul?怎么用 Spring Cloud Netflix Zuul?什么是Spring Cloud Netflix Zuul?Zuul is a JVM based router and server side load balancer by Netflix.Zuul 是一个基于JVM的路由器和转载 2016-12-28 19:01:56 · 6604 阅读 · 1 评论 -
SpringCloud分布式开发五大神兽
SpringCloud分布式开发五大神兽服务发现——Netflix Eureka客服端负载均衡——Netflix Ribbon断路器——Netflix Hystrix服务网关——Netflix Zuul分布式配置——Spring Cloud ConfigEureka一个RESTful服务,用来定位运行在AWS地区(Region)中的中转载 2016-12-28 19:06:25 · 2630 阅读 · 1 评论 -
论微服务安全
每个人都在讨论微服务,每个人也都希望能够实现微服务架构,而微服务安全也日渐成为大家关注的重要问题。今天小数与大家分享的文章,就从应用层面深入探讨了应对微服务安全挑战的方案,为微服务安全提供了新的思路。面向服务架构(简称SOA)引入了一类设计规范,其核心思路在于采用高度解耦式服务部署,其中各项服务可通过一套标准信息格式经由网络实现彼此通信。这套方案与具体技术无关,即不考虑各项服务具体是如何实转载 2017-03-23 10:07:10 · 1764 阅读 · 0 评论 -
微服务理论与实践(一)----架构的背景及需求
一。背景业务架构是战略,应用架构是战术,技术架构是装备。在开发服务端企业应用时,需要支持各种客户段,包括PC桌面浏览器,移动浏览器及原生移动应用,应用还需要向第三方提供可访问的API,并通过WebSevice或者消息代理与其他应用进行集成。应用通过业务逻辑,访问数据库,与其他服务交换信息,并返回一条HTML/XML/JSON响应,来处理请求。应用采用多层架构或六角架构,主要由以转载 2017-03-23 15:27:28 · 713 阅读 · 0 评论 -
微服务理论与实践(二)---单体架构模式
1.单体架构模式方案 (1) 单个Java WAR文件 (2) 单个Rails或者NodeJS代码目录层级 2.单体架构模式的优缺点(1)优点l 为人所熟知:现有的大部分工具、应用服务器、框架和脚本都是这种应用程序;l IDE友好:像NetBeans、Eclipse、IntelliJ这些开发环境都是针对开发、部署、调试这样的单个转载 2017-03-23 15:28:40 · 640 阅读 · 0 评论 -
微服务理论与实践(三)-微服务架构的基本能力和优缺点
1.微服务架构模式方案微服务架构采用Scale Cube方法设计应用架构,将应用服务按功能拆分成一组相互协作的服务。每个服务负责一组特定、相关的功能。每个服务可以有自己独立的数据库,从而保证与其他服务解耦。2.微服务架构的基本能力2.1 Restful轻量级通讯的首选方式 在微服务架构下,推崇使用轻量级的方式进行通讯。我们选择Restful的进行通讯。每个微转载 2017-03-23 15:29:45 · 521 阅读 · 0 评论 -
微服务理论与实践(四)----微服务架构的六种模式
1.微服务架构模式方案用Scale Cube方法设计应用架构,将应用服务按功能拆分成一组相互协作的服务。每个服务负责一组特定、相关的功能。每个服务可以有自己独立的数据库,从而保证与其他服务解耦。1.1 聚合器微服务设计模式 聚合器调用多个服务实现应用程序所需的功能。它可以是一个简单的Web页面,将检索到的数据进行处理展示。它也可以是一个更高层次的组合微服务,对转载 2017-03-23 15:32:24 · 696 阅读 · 0 评论 -
微服务理论与实践(五)-微服务之间的交互
Microservice架构模式中的“开”是各个服务的内部实现,而其中的“闭”则是各个服务之间相互沟通的方式 微服务必须使用进程间通信机制来交互。微服务架构有两类IPC机制可选,异步消息机制和同步请求/响应机制。当设计服务的通信模式时,需要考虑几个问题:服务如何交互,每个服务如何标识API,如何升级API,以及如何处理部分失败。1. API GateWay 模式1.1 背景转载 2017-03-23 15:33:23 · 1664 阅读 · 0 评论 -
微服务理论与实践(六)-服务注册与发现
1.背景l 服务的客户端(包括API网关或者其他服务)如何获取服务端实例的位置l 每个服务端实例都会在特定的位置(主机及端口)通过HTTP/REST或者Thrift等方式发布一个远程APIl 服务端实例的具体数量和位置会发生动态变化l 虚拟机与容器通常会被分配动态IP地址 2.方案2.1 客户端服务发现向某一服务发送请求时,客户端会通过查询Servc转载 2017-03-23 15:34:29 · 541 阅读 · 0 评论 -
微服务技术栈
构建微服务时,我们深深进入了分析分布式系统 - 一个已经研究了40年以上的技术主题,复杂的自适应系统理论已经深入人心有很长的时间。从技术的角度来看,我们需要解决的事情如下,这也是我们进来要深入研究的微服务领域的技术栈:(1)部署(2)交付(3)API(4)版本控制(5)合同(6)缩放/自动缩放(7)服务发现(8)负载均衡(9)路由/自适应路由(10)健康检查转载 2017-03-23 15:36:12 · 1046 阅读 · 0 评论 -
微服务架构下,打造别具一格的服务治理体验(上)
当业务服务能力X调用Http服务能力A遇到异常时,服务能力实现框架会自动捕获异常信息,并将系统性异常(Timeout,SocketException等等)以及某些业务异常(基于策略)提交到服务注册中心,这个过程不必等到心跳周期到达而是立即触发的,从而服务注册中心可以实现对这些服务接口的快速隔离。作者介绍 张真,宜信技术研发中心高级架构师,负责基础系统架构演进与优化、服务治理、监控平转载 2017-03-23 15:40:33 · 3526 阅读 · 0 评论 -
微服务架构下,打造别具一格的服务治理体验(下)
作者介绍 张真,宜信技术研发中心高级架构师,负责基础系统架构演进与优化、服务治理、监控平台、微服务建设、DevOps平台、自动化测试框架及电子签约、短信、邮件等应用系统。早年就职于IBM中国研发中心,负责IBM WebSphere应用服务器的设计与开发。目前主要关注微服务架构实施,微智能设计思想应用,虚拟化技术应用,共识计算研究。 上文我们已经详细讲到了一些经典微服务架构的特点及问题,转载 2017-03-23 15:41:38 · 2504 阅读 · 1 评论 -
使用Sidecar将Node.js引入Spring Cloud
使用Sidecar将Node.js引入Spring Cloud理论简介Spring Cloud是目前非常流行的微服务化解决方案,它将Spring Boot的便捷开发和Netflix OSS的丰富解决方案结合起来。如我们所知,Spring Cloud不同于Dubbo,使用的是基于HTTP(s)的Rest服务来构建整个服务体系。那么有没有可能使用一些非JVM语言,例如我们所熟悉的Node.js转载 2017-03-24 09:41:26 · 6945 阅读 · 4 评论 -
使用Spring Cloud和Docker构建微服务
这是系列博文中的第一篇,本文作者使用Spring Cloud和docker构建微服务平台,文章的例子浅显易懂,希望了解微平台构建的同学能够从这里会收获良多. 这篇系列博文主要向大家介绍如何使用Spring Cloud和Docker构建微服务平台。 什么是Spring Cloud? Spring Cloud 是一个 pivotal提供的用于进行分布式系统构建时提供一些常用的解决方转载 2016-12-06 20:14:40 · 4570 阅读 · 0 评论 -
部署微服务:Spring Cloud vs. Kubernetes
原文链接:deploying-microservices-spring-cloud-vs-kubernetes译文链接: 部署微服务:Spring Cloud vs. KubernetesSpring Cloud vs. Kubernetes,谁才是部署微服务的最佳拍档?Spring Cloud和Kubernetes都声称自己是开发和运行微服务的最佳环境,但两者在特性上并不转载 2017-03-24 14:39:27 · 1111 阅读 · 0 评论 -
Spring Cloud实战(六)-Spring Cloud Netflix Bus
概要什么是Spring Cloud Netflix Bus?怎么用 Spring Cloud Netflix Bus?什么是Spring Cloud Netflix Hystrix?Spring Cloud Netflix Bus是Spring Cloud的消息机制,当Git Repository 改变时,通过POST请求Config Server的/b转载 2016-12-28 19:00:24 · 2589 阅读 · 2 评论 -
Spring Cloud实战(五)-Spring Cloud Netflix Hystrix
概要什么是Spring Cloud Netflix Hystrix?怎么用 Spring Cloud Netflix Hystrix?Hystrix常见配置介绍什么是Spring Cloud Netflix Hystrix?Spring Cloud Netflix Hystrix是分布式系统处理超时和错误的机制,如下图所示,分布式系统中某个用户请转载 2016-12-28 18:57:45 · 3216 阅读 · 0 评论 -
使用API网关构建微服务
原文 http://www.infoq.com/cn/articles/construct-micro-service-using-api-gateway 有关微服务的系列文章的 第一篇 介绍了微服务架构模式,讨论了使用微服务的优缺点,以及为什么它们虽然复杂度高却常常是复杂应用程序的理想选择。 当选择将应用程序构建为一组微服务时,需要确定应用程序客户端如何与微服务交互。转载 2016-11-01 20:46:32 · 8149 阅读 · 0 评论 -
微服务实践(七):从单体式架构迁移到微服务架构
【编者的话】这是用微服务开发应用系列博客的第七篇也是最后一篇。第一篇中介绍了微服务架构模式,并且讨论了微服架构的优缺点;接续文章讨论了微服务架构不同方面:使用API网关,进程间通信,服务发现,事件驱动数据管理以及部署微服务。本篇,我们将探讨将应用从单体式架构迁移到微服务架构需要考虑的策略。希望读者通过本系列文章对微服务优缺点有一个比较好的理解,以及何时使用这种架构。也许微服务架构比较适合你的应转载 2016-09-27 15:53:13 · 382 阅读 · 0 评论 -
微服务实战(六):选择微服务部署策略
这篇博客是用微服务建应用的第六篇,第一篇介绍了微服务架构模板,并且讨论了使用微服务的优缺点。随后的文章讨论了微服务不同方面:使用API网关,进程间通讯,服务发现和事件驱动数据管理。这篇文章,我们将讨论部署微服务的策略。本系列文章:微服务实战(一):微服务架构的优势与不足微服务实战(二):使用API Gateway微服务实战(三):深入微服务架构的进程间通信微服务实战(四):服务发现转载 2016-09-27 15:52:39 · 397 阅读 · 0 评论 -
微服务实践(五):微服务的事件驱动数据管理
【编者的话】本文是使用微服务创建应用系列的第五篇文章。第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点;第二和第三篇描述了微服务架构模块间通讯的不同方面;第四篇研究了服务发现中的问题。本篇中,我们从另外一个角度研究一下微服务架构带来的分布式数据管理问题。 1.1 微服务和分布式数据管理问题单体式应用一般都会有一个关系型数据库,由此带来的好处是应用可以使用 ACID tran转载 2016-09-27 15:52:05 · 396 阅读 · 0 评论 -
微服务实战(四):服务发现的可行方案以及实践案例
这是关于使用微服务架构创建应用系列的第四篇文章。第一篇介绍了微服务架构的模式,讨论了使用微服务架构的优缺点。第二和第三篇描述了微服务架构内部的通讯机制。这篇文章中,我们将会探讨服务发现相关问题。为什么要使用服务发现?设想一下,我们正在写代码使用了提供REST API或者Thrift API的服务,为了完成一次服务请求,代码需要知道服务实例的网络位置(IP地址和端口)。传统应用都运行在物理硬转载 2016-09-27 15:50:57 · 298 阅读 · 0 评论 -
微服务实战(三):深入微服务架构的进程间通信
【编者的话】这是采用微服务架构创建自己应用系列第三篇文章。第一篇介绍了微服务架构模式,和单体式模式进行了比较,并且讨论了使用微服务架构的优缺点。第二篇描述了采用微服务架构应用客户端之间如何采用API Gateway方式进行通信。在这篇文章中,我们将讨论系统服务之间如何通信。简介在单体式应用中,各个模块之间的调用是通过编程语言级别的方法或者函数来实现的。但是一个基于微服务的分布式应用是运转载 2016-09-27 15:50:16 · 389 阅读 · 0 评论 -
微服务实战(一):微服务架构的优势与不足
【编者的话】本文来自Nginx官方博客,是微服务系列文章的第一篇,主要探讨了传统的单体式应用的不足,以及微服务架构的优势与挑战。正如作者所说,微服务架构更适合用于构建复杂的应用,尽管它也有自己的不足。这篇文章作者是Chris Richardson,他是早期基于Java的Amazonite EC2 PaaS平台CloudFoundry.com的创始人。现在他为企业提供如何开发和部署应用的咨询转载 2016-09-27 15:48:55 · 386 阅读 · 0 评论 -
微服务实战(二):使用API Gateway
本系列的第一篇介绍了微服务架构模式。它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择。当你决定将应用作为一组微服务时,需要决定应用客户端如何与微服务交互。在单体式程序中,通常只有一组冗余的或者负载均衡的服务提供点。在微服务 架构中,每一个微服务暴露一组细粒度的服务提供点。在本篇文章中,我们来看它如何影响客户端到服务端通信,同时提出一种API Gatewa转载 2016-09-27 15:49:33 · 1308 阅读 · 0 评论 -
微服务(Microservice)那点事
WHAT - 什么是微服务 微服务简介 这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火。最喜欢其中一页。关于这个典故,可以参考this,此图适用于一切高大上的名字——技术有SOA,Agile,CLOUD,DevOps等等,古代有道,气,八卦等等。转载 2016-09-27 14:44:51 · 988 阅读 · 0 评论 -
微服务--使用Spring Boot创建微服务
过去几年以来,“微服务架构”的概念已经在软件开发领域获得了一个稳定的基础。作为“面向服务架构”(SOA)的一个继任者,微服务同样也可以被归类为“分布式系统”这一类,并且进一步发扬了SOA中的许多概念与实践。不过,它们在不同之处在于每个单一服务所应承担的责任范围。在SOA中,每个服务将负责处理广范围的功能与数据领域,而微服务的一种通用指南则认为,它所负责的部分是管理一个单独的数据领域,以及围绕着该领转载 2016-12-28 17:29:30 · 941 阅读 · 0 评论 -
Spring Boot——开发新一代Spring Java应用
Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系。随着Spring 3.0的发布,Spring IO团队逐渐开始摆脱XML配置文件,并且在开发过程中大量使用“约定优先配置”(convention over configuration)的思想来摆脱Spring框架中各类繁复纷杂的配置(即时是Java Con转载 2016-09-20 11:54:41 · 448 阅读 · 0 评论 -
Spring Cloud实战(三)-Spring Cloud Netflix Ribbon
概要什么是Spring Cloud Netflix Ribbon?实战:整合Ribbon实现负载均衡Spring Cloud Netflix Ribbon是什么?Spring Cloud Netflix Ribbon 是一个客户端负载均衡的组件.什么是负载均衡?负载均衡就是分发请求流量到不同的服务器,目前的实现有软件(ngnix,apache,H转载 2016-12-28 18:00:38 · 2987 阅读 · 0 评论 -
Spring Cloud实战(一)-Spring Cloud Config Server
概要什么是Spring Cloud Config?创建并运行一个Spring Cloud Config Server建立一个Repository创建并运行一个Spring Cloud Config ClientSpring Cloud Config是什么?什么是配置信息?一个Application中不只是代码,还需要连接资源和其它转载 2016-12-28 17:47:25 · 12362 阅读 · 0 评论 -
Spring Cloud实战(二)-Spring Cloud Eureka
概要什么是Spring Cloud Eureka?使用Eureka获取服务调用Eureka整合Spring Config Server构建Eureka Server集群什么是Spring Cloud Eureka?Spring Cloud Eureka 模块提供的功能是被动式的服务发现.什么是服务发现?服务发现就像聊天室一个,每个转载 2016-12-28 17:51:18 · 3564 阅读 · 0 评论 -
Spring Cloud实战(四)-Spring Cloud Netflix Feign
概要什么是Spring Cloud Netflix Feign?怎么用Feign?什么是Spring Cloud Netflix Feign?Feign:Declarative REST clients.Feign:是一个声明式的REST客户端.在之前的例子中我们使用的有DiscoveryClient,LoadBalancerClient,如他们转载 2016-12-28 18:52:58 · 3655 阅读 · 0 评论 -
Spring Boot Admin 的使用
一、前言spring Boot Admin 用于监控基于 Spring Boot 的应用。官方文档在这里(v1.3.4):《Spring Boot Admin Reference Guide》实践的过程中,感觉这个 User Guide 结构上还是说的不太明白。所以我就大概写一遍我的实践过程与理解。阅读此文前提条件是:使用过 Maven。你跑过基于 Spring Boot转载 2017-03-24 18:07:30 · 3319 阅读 · 2 评论