SpringCloud(5)
服务降级
服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”.对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和。比失败更糟糕的是,这些应用程序还可能导致服务之间的延迟增加,备份队列,线程和其他系统资源紧张,导致整个系统发生更多的级联故障。这些都表示需要对故障和延迟进行隔离和管理,以便单个依赖关系的失败,不能取消整个应用程序或系统。
HystrixHystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类以熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不 ...
SpringCloud(4)
负载均衡RibbonSpring Cloud Ribbon是基于Netflix Ribbon3实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbo实现自定义的负载均衡算法。
当前Ribbon已经进入维护阶段
LB负载均衡(Load Balance)是什么?简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用)。常见的负载均衡有软件Nginx,LVS,硬件F5等。
Ribbon本地负载均衡客户端VS Nginx服务端负载均衡区别Nginx是服务器负载均衡,客户端所有请求都会交给nginx,然后由nginx实现转发请求。即负载均衡是由服务端实现的。Ribbon本地负载均衡,在调用微服务接口时候,会在注册中心上获取注册信息服务列表之后缓存到 ...
SpringCloud(3)
服务注册中心Eureka什么是服务治理?springcloud封装了Netflix公司开发的Eureka模块来实现服务治理
在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂。所有要使用夫妇治理,管理服务与服务之间的依赖关系,可以实现服务调用,负载均衡,容错等。实现服务发现和注册。
单机Eureka搭建步骤
构建服务端修改pom文件:123456789101112131415161718192021222324252627282930<dependencies><!-- 自定义api通用包--> <dependency> <groupId>top.zfxt.springcloud</groupId> <artifactId>cloud-api-commons</artifactId> <version>1.0-SNAPSHOT</version> ...
SpringCloud(2)
微服务模块构建流程建module 改pom 改yml 主启动 业务类建数据库 建entities 建dao 加service 加controller
Devtools热部署,更新内容后自动重新启动
添加jar包(放在子包中)
123456<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency>
添加插件(放入父类总工程)
12345678<plugin> <groupId>org.springframework.boot</groupI ...
SpringCloud框架学习(1)
微服务架构微服务架构就是将一个集中式的服务应用拆分成很多个小部分的应用。每个服务之间相互配合使用。SpringCloud=分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体。俗称微服务全家桶
版本配合https://spring.io/projects/spring-cloud可以参照官网,因为cloud和boot的版本需要相互依赖,他们有版本的限制关系,如:也可以查看这个json格式表.他会推荐搭配的版本
关键组件
微服务工程的搭建
首先在idea中新建一个maven项目。
然后删除其中的src文件夹。只将其作为一个pom包
关键是pom.xml的配置123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 ...
Windows路由表
路由表是一个存储在 路由器 或者我们计算机中的 电子表格 或类数据库。路由表存储着指向特定 网络地址 的路径
路由表信息解析
ipconfig /all查看网卡信息
route print查看路由表信息名词解释:网关,又称下一跳路由器。在发送IP数据包时,网关定义了针对特定的网络目的地址,数据包发送到的下一跳服务器。如果是本地计算机直接连接到的网络,网关通常是本地计算机对应的网络接口,但是此时接口必须和网关一致;如果是远程网络或默认路由,网关通常是本地计算机所连接到的网络上的某个服务器或路由器。接口,接口定义了针对特定的网络目的地址,本地计算机用于发送数据包的网络接口。网关必须位于和接口相同的子网(默认网关除外),否则造成在使用此路由项时需调用其他路由项,从而可能会导致路由死锁。跃点数,跳数用于指出路由的成本,通常情况下代表到达目标地址所需要经过的跳跃数量,一个跳数代表经过一个路由器。跳数越低,代表路由成本越低,优先级越高。0.0.0.0:缺省路由。当系统接收到一个目的地址不在路由表中的数据包时,系统会将该数据包通过192.168.1.129这个接口发送到缺省网关192.16 ...
神经网络和深度学习
什么是神经网络?我们常常用深度学习这个术语来指训练神经网络的过程。神经网络就是一个通过深度学习构建出来的大规模函数。可以通过任意x得到一个想要的结果yReLU激活函数:全称是Rectified Linear Unit。可以理解成max(0,x),这也是你得到一个这种形状的函数的原因。
神经网络的监督学习对于一个神经网络的训练过程,人为的设定某些需要的参数和结果。用来导向神经网络的发展方向。对于图像应用,我们经常在神经网络上使用卷积(Convolutional Neural Network),通常缩写为CNN对于序列数据,经常使用RNN,一种递归神经网络(Recurrent Neural Network)
从历史经验上看,处理非结构化数据是很难的,与结构化数据比较,让计算机理解非结构化数据很难
神经网络规模和其准确性的关系图
神经网络方面的一个巨大突破是从sigmoid函数转换到一个ReLU函数
通过不断修改算法,代码中的细节。来不断提搞构建高效的神经网络。
神经网络的编程基础二分类(Binary Classification)神经网络的训练过程可以分为前向传播和反向传播两个独立的部 ...
RabbitMq入门
消息队列MQ是一种常见的上下游“逻辑解耦+物理解耦”的消息通信服务MQ三大功能:流量消峰,应用解耦,异步处理主流MQ:kafka,rocketMQ,rabbitMQ
RabbitMQ4大核心概念生产者,消费者,交换机,队列
RabbitMQ的安装这里使用docker的方式进行安装
拉取镜像1docker pull rabbitmq
启动进程1docker run -d --restart=always --name my-rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq
这时已经算是启动好了应用,但是任然无法访问
开启插件123456789101112131415161718// 1、进入容器docker exec -it my-rabbitmq bash // 2、开启插件rabbitmq-plugins enable rabbitmq_management//创建账号rabbitmqctl add_user admin 123//设置用户角色rabbitmqctl set_user_tags admin administrator// ...
0xffffffff颜色值是怎么读的
平常看到的大多数是十六进制的,#f5f5f5。
但是在自定义控件的时候,有些地方使用了像0xffffffff,这些设置颜色,在百度给的也不太明确,后来查找发现,原来是
在C语言中十六进制数必需以0x开头,以0x开头的数即表明它是一个十六进制的数,真正的数是0x后的值,所以,这种颜色值,0x不用管,接着的两位数ff是表示透明度,再接着的六位数就是平常看的#ffffff了。
coil的使用
https://juejin.cn/post/7098174443700092935