SpringCloud学习
1.SpringCloud的参考博客1
首先主要遇到的问题就是
1.写好项目然后放到tomcat或者其他的容器中,然后稍微一点修改就要整个项目重新发布,非常麻烦,这就是微服务出现的契机了
基础知识
PS :不同的项目可以用不同的语言编写
PS: 微服务就是把独立运行的系统弄成多个小的项目,不同的项目中间通过http restful API进行通信协作
PS : 为啥微服务出现的了? 因为传统一个项目,有时只改了一点点的东西就要让整体停下,不太方便。 为了解决该问题,微服务概念出现了
----------------------
--------------------------------
PS : actuator,监控整个应用程序
PS: 统一开发工具和版本避免踩坑
服务的注册与发现
PS: 就是一个服务注册中心,负责注册中心的服务。 类似于dubbo
----------------实践
1.代码
服务中心 eureka-server
服务中心 eureka-server-ha高可用
服务提供者 hello-service
服务消费者 ribbon-consumer
PS: 就是不能让服务挂掉
PS:下图是启动Eureka-server,服务中心什么也没有
PS:有注册服务方以后
PS: 服务注入
PS:调取服务
---------------------------详解Eureka
PS:这是服务注册和消费的图,那个Replicate是为了服务同步共享, 详细看书Eureka的讲解
PS: Ribbon 是专门用来消费服务的,是客户端的负载均衡
PS: Ribbon相当于一个客户端,去请求Eureka(相当于数据库)
Feign- 教程说坑比较多
PS: 雪崩效应是 A调用B,然后没有调用通,...最后系统都没有调用通
实现容错有两种方案:
1.设置超时
2.设置断路器,
-----------------服务端负载均衡和客户端负载均衡的区别--------------------------------
PS: 这就是熔断的机制
PS: Feign也是一种服务消费工具,整合了Ribbon和Hystrix
PS: springcloud bus配合springcloud config实现消息推送
PS: 随着服务增多,引用越来越多,就会变乱,然后用sleuth就行追踪服务
SpringCloud学习的更多相关文章
- SpringCloud学习之Ribbon
一.负载均衡与Ribbon 负载均衡,在集群中是很常见的一个“名词”,顾名思义是根据一定的算法将请求分摊至对应的服务节点上,常见的算法有如下几种: 轮询法:所有请求被依次分发到每台应用服务器上,每台服 ...
- SpringCloud学习之feign
一.关于feigin feigin是一种模板化,声明式的http客户端,feign可以通过注解绑定到接口上来简化Http请求访问.当然我们也可以在创建Feign对象时定制自定义解码器(xml或者jso ...
- SpringCloud学习系列之三----- 断路器(Hystrix)和断路器监控(Dashboard)
前言 本篇主要介绍的是SpringCloud中的断路器(Hystrix)和断路器指标看板(Dashboard)的相关使用知识. SpringCloud Hystrix Hystrix 介绍 Netfl ...
- SpringCloud学习(二):微服务入门实战项目搭建
一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...
- SpringCloud学习系列之七 ----- Zuul路由网关的过滤器和异常处理
前言 在上篇中介绍了SpringCloud Zuul路由网关的基本使用版本,本篇则介绍基于SpringCloud(基于SpringBoot2.x,.SpringCloud Finchley版)中的路由 ...
- springCloud学习总览
写完最后一篇特意去看了看第一篇是什么时候写的---2018/11/19,到现在三个月多一点,总的来说这三个月通过<Spring 微服务实战>这本书,算是对微服务进行了一次扫盲学习. ...
- SpringCloud学习笔记(2):使用Ribbon负载均衡
简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具,在注册中心对Ribbon客户端进行注册后,Ribbon可以基于某种负载均衡算法,如轮询(默认 ...
- SpringCloud学习笔记(3):使用Feign实现声明式服务调用
简介 Feign是一个声明式的Web Service客户端,它简化了Web服务客户端的编写操作,相对于Ribbon+RestTemplate的方式,开发者只需通过简单的接口和注解来调用HTTP API ...
- SpringCloud学习笔记(4):Hystrix容错机制
简介 在微服务架构中,微服务之间的依赖关系错综复杂,难免的某些服务会出现故障,导致服务调用方出现远程调度的线程阻塞.在高负载的场景下,如果不做任何处理,可能会引起级联故障,导致服务调用方的资源耗尽甚至 ...
- SpringCloud学习笔记(5):Hystrix Dashboard可视化监控数据
简介 上篇文章中讲了使用Hystrix实现容错,除此之外,Hystrix还提供了近乎实时的监控.本文将介绍如何进行服务监控以及使用Hystrix Dashboard来让监控数据图形化. 项目介绍 sc ...
随机推荐
- js 操作dom
childNodes 返回当前元素所有子元素的数组 parentNode 返回元素的父节点 document.createElement(tagName) 文档对象上的createElement方法可 ...
- Struts1的基础知识
struts1.0的配置 在web.xml文件中的配置 <servlet> <!--配置ActionServlet类,一启动就创建该类对象--> <servlet-nam ...
- angular4-表单
导入表单模块 import { FormsModule } from '@angular/forms'; // ... @NgModule({ imports: [BrowserModule, For ...
- [Leetcode 739]*还有几天会升温 Daily Temperatures
[题目] Given a list of daily temperatures T, return a list such that, for each day in the input, tells ...
- python笔记1-基础概念、python安装使用配置
Python 1.基础概念 一.什么是python? python是一种面向对象.解释型的计算机语言,它的特点是语法简洁.优雅.简单易学.在1989诞生,Guido(龟叔)开发.这里的python并不 ...
- rabbitMq无法消费发送的q的问题
1.问题叙述: 该项目配置了10来个mq,应对新开发需求,我也加了一个mq配置,然后在本地代码当中调用,当中接受,与前面写法相似,项目上测试环境测试.发现发送了queue之后本地消费日志没有的bug. ...
- Java基础学习-Collection
package Collection; import java.util.ArrayList; import java.util.Scanner; /*集合类的特点: * 大小可变 * * Array ...
- VC下CString类型与int 、float等数据类型的相互转换
一.常用转换 1. CString --> int转换 CString str("1234"); int i= _ttoi(str); 2. CString --> ...
- 前端框架VUE
Vue Vue近几年来特别的受关注,三年前的时候angularJS霸占前端JS框架市场很长时间,接着react框架横空出世,因为它有一个特性是虚拟DOM,从性能上碾轧angularJS,这个时候,vu ...
- python 正则匹配时间格式转换方法
import re from datetime import datetime a = '2018年8月9日 10:10' s = re.findall('\d+',a) print(s) d = ' ...