consul

sringcloud2.0学习-2-SpringCloud微服务框架初识

蓝咒 提交于 2020-02-17 07:01:02
SpringCloud微服务框架 1.SpringCloud框架简介   SpringCloud是基于SpringBoot基础之上开发的微服务框架,是一套目前非常完整的微服务解决方案框架,其内容包含服务治理、注册中心、配置管理、断路器、智能路由、微代理、控制总线、全局锁、分布式会话等。 SpringCloud包含众多子项目: SpringCloud config 分布式配置中心 SpringCloud netflix 核心组件: Eureka:服务治理 注册中心 Hystrix:服务保护框架 Ribbon:客户端负载均衡器 Feign:基于ribbon和hystrix的声明式服务调用组件 Zuul: 网关组件,提供智能路由、访问过滤等功能。 Spring Cloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。 Spring Cloud Sleuth:日志收集工具包,封装了Dapper,Zipkin和HTrace操作。 Spring Cloud Data Flow:大数据操作工具,通过命令行方式操作数据流。 Spring Cloud Security:安全工具包,为你的应用程序添加安全控制,主要是指OAuth2。 Spring Cloud Consul

Service mesh 总结

久未见 提交于 2020-02-12 13:52:06
1 我们现在怎么做的 基于docker容器技术,我们K8s进行容器编排和调度管理。利用ingress controller进行负载均衡,主要是nginx。 最早以前,我们自己实现的服务发现,是新增的服务去报活,发送消息,nginx接受到消息后更新配置文件,后来我们利用consul去实现服务发现。 现在ingress controller帮我们实现了负载均衡和动态服务发现。负责监听pod资源变化。 Ingress controller 通过不断地与 kube-apiserver 打交道,实时的感知后端 service、pod 的变化,当得到这些变化信息后,Ingress controller 再结合 Ingress 的配置,更新反向代理负载均衡器,达到服务发现的作用。其实这点和服务发现工具 consul consul-template 非常类似 2 Service mesh怎么做 Service mesh 其实把服务之前的通讯层剥离处理,我们只是负责处理业务逻辑 Hytrix类似这种lib在处理服务降级之类的任务时,如果服务语言不同,无法使用 如果服务数量巨大,servcie mesh可以通过面板统一管理,调度 Hytrix可以参考这个文章的具体demo https://blog.csdn.net/JinXYan/article/details/90598216 来源: CSDN

spring cloud 介绍

爱⌒轻易说出口 提交于 2020-02-11 20:52:56
服务治理:阿里巴巴开元的dubbo 和当当网在其基础上扩展的dubbox ,nettflix 的eureka,apache的consul等。 分布式配置管理:百度的disconf,nettflix的archaius 批量任务:spring cloud 的task 服务跟踪:京东的HYdra ,spring cloud 的sleuth. spring cloud 介绍: spring cloud 是一个基于spring boot 实现的微服务架构开发工具,它为微服务架构中涉及的配置管理,服务治理,断路由,智能路由,微代理,控制总线,全局锁,决策竞选,分布式会话和集群状态等操作提供了一种简单的开发方式。 spring cloud 包含了多个子项目: spring cloud config:配置管理工具,支持使用git存储配置内容,可以使用它实现应用配置的外部化存储,并支持客户端配置信息刷新,加密/解密配置内容等。 spring cloud netflix:核心组件,对多个netflix oss开源套件进行整合。 eureka:服务治理组件,包含服务注册中心,服务注册与发现机制的实现。 hystrix:容错管理组件,实现断路器模式,帮助服务依赖中出现的延迟和故障提供强大的容错能力。 ribbon:客户端负载均衡的服务调用组件。 feign

2019年IT事故盘点【IT必读】

若如初见. 提交于 2020-02-11 19:22:21
昀哥@老兵笔记 2020农历新年开局不容易,新冠肺炎仍在攻艰克难阶段。回首过去的9102年,总有一些事主要是事故值得去记录。下面我们来盘点一下9102年的“外部事故”。 一,我们遭遇的IT基础设施服务事故 2019年是IT基础设施服务相对黑暗的一年。各种灾难性事件高发,我们所依赖的多家公司的关键服务不可用时间突破SLA四个九(即一年52分钟)。下面我们回顾一下: 阿里云 :2019年3月3日,凌晨0点开始,阿里云华北二机房可用区C部分ECS服务器等实例出现IO HANG,导致托管业务的所有服务器资源使用率100%且均无法登录,业务中断长达3小时。 中国移动 :2019年3月15日,由于中国移动的物联网集中化系统(CMIOT)凌晨部署架构优化(第二批)割接上线,从7点11分开始影响全国大面积物联网卡使用,于7点30分开始逐步恢复服务,但由于数千万张物联网卡排队接入,直至上午11点才缓解。 银联、网联和微信支付 :2019年3月23日,14点42分左右,银联和网联(两个清算机构)与微信支付上海机房的物理连接被挖断了,虽然他们快速切换了备用线路,但下游业务均受到了影响,所有交易(支付宝、微信支付、云闪付)都在抖。 114DNS :2019年4月4日,10:30~12:30,114 DNS和谷歌DNS 8.8.8.8 相继挂了。 上海移动 :2019年5月29日,11:10~11:20

windows安装consul

删除回忆录丶 提交于 2020-02-10 21:41:16
下载 官网下载: https://www. consul.io/downloads.htm l 在安装的位置解压得到 consul.exe 文件(我的解压位置是:E:\consul) 环境变量 增加一条E:\consul 启动 cmd 命令窗口执行: consul agent - dev consul 自带 UI 界面,打开网址: http://localhost:8500 ,可以看到当前注册的服务界面 cmd 命令窗口执行:consul.exe agent -server ui -bootstrap -client 0.0.0.0 -data-dir="E:\consul" -bind X.X.X.X 其中X.X.X.X为服务器ip,即可使用http://X.X.X.X:8500 访问ui而不是只能使用localhost连接 来源: https://www.cnblogs.com/wasonzhao/p/12292816.html

go 安装consul包("github.com/hashicorp/consul/api")

笑着哭i 提交于 2020-02-09 16:42:11
注意: 1.这里安装的不是consul本身,而是consul包,就是go程序里要import的那个。 2.安装方法适用于所有系统,包括linux,windows,mac,只需要机器上有git consul源码就是用go写的,所有使用go程序调用consul包,只需要把整个go项目从github上clone下来即可。其实用go get也可以安装,但是因为源在国外,非常慢,且go get看不到进度,不如用git clone,还能看到下载百分比。 注意,要把包clone到GOPATH下,具体命令如下: mkdir $GOPATH/src/github.com/hashicorp cd $GOPATH/src/github.com/hashicorp sudo git clone https://github.com/hashicorp/consul.git 最后一步我使用了sudo,是因为,第一次没有sudo,报了一个如下的错误: 我查了半天没有查到什么好的解决办法,于是加上了sudo又执行了一次,就好了。。。 最后还有一个小建议,就是如果你有一个可以翻墙的机器,那就直接在那台机器上下载好之后,把程序打个压缩包,然后使用scp命令传到其他机器上,毕竟consul这个项目有两百多兆,在不能翻墙的机器上下实在是太慢了。。。 cd $GOPATH/src/github.com

服务治理与RPC · 跬步

拈花ヽ惹草 提交于 2020-02-09 09:39:41
以前写过Django中使用zerorpc的方法,但是由于我们的Django是运行在gevent下,而zeromq需要启动一个后台进程处理消息,与gevent使用的greenlet携程是冲突的。 在Java的世界里,Spring Cloud全家桶覆盖了微服务的方方面面,专注于服务治理的框架也有阿里的Dubbo,微博的Motan。但是Python这边没有找到合适的轮子,甚至于好的RPC框架也没有,只有gRPC,Thrift这种跨语言的RPC框架。而这些跨语言的RPC框架基本上也是基于C/C++的Python port。 在github上全局搜索Python rpc,找到一个原生支持gevent的 MPRPC ,而且也找到了微博Motan的Golang版本,所以考虑读Motan-go的源码学习一下什么是服务治理,再基于MPRPC实现自己的轮子。这就有了 doge 。 服务注册 主流的注册中心服务包括etcd,Consul,zookeeper。这里只考虑了etcd与Consul,etcd相对来说简单些,是一个分布式的KV强一致数据库,数据以树状结构存储。Consul的功能更丰富些,有服务的定义,并且支持对服务的健康检查。etcd不支持健康检查,但是可以通过设置key的ttl,然后服务定时刷新ttl来主动上报。 熔断 MPRPC本身提供了一个简单socket pool池

单体、SOA、微服务

半腔热情 提交于 2020-02-05 20:44:50
单体架构-》SOA-》微服务: 1. 从三层到mvc单体架构(特点:用户少并发少,并发增加),便于管理在一个项目中,但项目越来越大满足不了需求过于臃肿、不能拓展(有些模块需要进行扩展有些无需扩展)、资源不能分离。 2.SOA和微服务都是架构思想,基于SOA的架构思想将重复公用的功能抽取为组件,以服务的方式给系统提供服务,系统与服务之间采用webservice、rpc等方式进行通信,ESB企业服务总线作为项目与服务之间通信的桥梁。EAI是什么,各个系统间互联,相互传数据的解决方案,原来通过socket通讯方式,只能在同一平台上进行通讯。基于中间系统,为了能满足跨平台的通讯,出现了webserver松耦合的通讯方式,数据通过xml传输。ESB包含了EAI的功能, 简单 来说 ESB 就是一根管道,用来连接各个服务节点。为了集 成不同系统,不同协议的服务,ESB 做了消息的转化解释和路由工作,让不同的服务互联互通。与API网关统一层面的东西,在微服务思想中叫API网关,SOA思想中是ESB,在之前是EAI。 3. 前端代码和后台得分离,将后台代码分布在多个服务器上,负载均衡,缓解并发压力。慢慢对于模块中不同的需求,某个模块需要更多的服务器有些或许对性能要求不高,从而产生了微服务化,将原有的业务拆成独立的工程, 独立部署,灵活扩展。微服务是以每一个独立组件(例如用户服务,商品服务

Spring cloud

大憨熊 提交于 2020-02-03 01:28:48
什么是spring cloud? Spring Cloud是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。 spring cloud的前景: Spring Cloud对于中小型互联网公司来说是一种福音,因为这类公司往往没有实力或者没有足够的资金投入去开发自己的分布式系统基础设施,使用Spring Cloud一站式解决方案能在从容应对业务发展的同时大大减少开发成本。同时,随着近几年微服务架构和 Docker 容器概念的火爆,也会让Spring Cloud在未来越来越“云”化的软件开发风格中立有一席之地,尤其是在五花八门的分布式解决方案中提供了标准化的、全站式的技术方案,意义可能会堪比当年 Servlet 规范的诞生,有效推进服务端软件系统技术水平的进步。 特点: 约定大于配置 适用于各种环境 隐藏了组件的复杂性,并提供声明式、无XML式的配置方式 开箱即用

Docker & Consul & Fabio & ASP.NET Core 2.0 微服务跨平台实践

我只是一个虾纸丫 提交于 2020-01-31 07:57:27
相关博文: Ubuntu 简单安装 Docker Mac OS、Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和简单使用 阅读目录: Docker 运行 Consul 环境 Docker 运行 Fabio 环境 使用 Consul 注册 ASP.NET Core 2.0 服务 使用 Docker 发布部署 ASP.NET Core 2.0 服务 本篇博文的目的:在 Mac OS 中使用 VS Code 开发 ASP.NET Core 2.0 应用程序,然后在 Ubuntu 服务器配置 Docker 环境,并使用 Docker 运行 Consul 和 Fabio 环境,最后使用 Docker 运行 ASP.NET Core 2.0 应用程序。 你要的项目源码: https://github.com/yuezhongxin/HelloDocker.Sample 上面配置看起来还蛮简单,但实际去操作的时候,还是遇到了蛮多的问题,并且花了很多的时间去解决,比如 Docker 运行 Consul 和 Fabio,下面详细说下过程。 1. Docker 运行 Consul 环境 关于 Consul 的概念: Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,比如