ribbon及Feign负载均衡
ribbon负载均衡ribbon是什么?
Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。
简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将NetFlix的中间层服务连接在一起。Ribbon的客户端组件提供一系列完整的配置项如:连接超时、重试等等。简单的说,就是在配置文件中列出LoadBalancer(简称LB:负载均衡)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等等)去连接这些机器。我们也很容易使用Ribbon实现自定义的负载均衡算法!
ribbon能干嘛?
LB,即负载均衡(Load Balance),在微服务或分布式集群中经常用的一种应用。
负载均衡简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA (高可用)。·常见的负载均衡软件有Nginx,Lvs等等
dubbo、SpringCloud中均给我们提供了负载均衡,SpringCloud的负载均衡算法可以自定义
负载均衡简单分类:
集中式LB
即在服务的消费方和提供方之间使用 ...
Spring-Config笔记
Spring-Config笔记结论: springboot所有自动配置都是在启动的时候扫描并加载: spring.factories所有的自动配置类都在这里面,但是不一定生效,要判断条件是否成立,只要导入了对应的start,就有对应的启动器了,有了启动器,我们自动装配就会生效,然后就配置成功!
1.springboot在启动的时候,从类路径下/META-INF/ spring.factories获取指定的值;
2.将这些自动配置的类导入容器,自动配置就会生效,帮我进行自动配置!
3.以前我们需要自动配置的东西,现在springboot帮我们做了!
4.整合javaEE,解决方案和自动配置的东西都在spring-boot-autoconfigure-2.2.0.RELEASE.jar这个包下
5.它会把所有需要导入的组件,以类名的方式返回,这些组件就会被添加到容器;
6.容器中也会存在非常多的xxxAutoConfiguration的文件(@Bean),就是这些类给容器中导入了这个场景需要的所有组件;并自动配置,@Configuration, JavaConfig!
7.有了自动配置类, ...
SpringMVC笔记
Servlet
jsp前端网页写完以后需要在web.xml注册
from action == 数据所要去向的目的地 method == get/post方式
MVC框架做的事
将url映射到java类或java类的方法
封装用户提交的数据
处理请求—调用相关的业务处理—封装响应数据
讲响应的数据进行渲染 .jsp/html等表示层数据
Spring MVC的特点:
轻量级,简单易学
高效,基于请求响应的MVC框架
与Spring的兼容性好,无缝结合
约定优于配置 怎么写的怎么用
功能强大:RESTful、数据验证、格式化、本地化、主题等
简洁灵活
注解 组件@Component 组件@Service service@Controller controller@Repository dao
@Controller 走视图解析器@RestController 直接返回一个字符串
spring容器固定配置
配置DispatcherServlet123456789101112<servlet> <servlet-name>sprin ...
Spring笔记
Spring常用依赖12345678910111213<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.6.RELEASE</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.1</version> <scope>test</scope> </dependency></dependencies ...
SpringMVC即SSM笔记
Springmvc项目伊始添加pom.xml中的dependency依赖
整合mybatis层:
applicationContext.xml
database.properties
mybatis-config.xml
dao包存放mapper及其映射 pojo包实体类 service业务层则是直接return对应mapper的方法
整合spring层
spring-dao.xml
spring-service.xml
业务层
整合springmvc层
spring-mvc.xml
也就是controller
排错思路bean不存在
1.查看这个bean是否注入成功
2.Junit单元测试,看代码是否能查询出结果 //运行中出现java.sql.SQLException: No suitable driver异常 是因为mysql的url报异常 连不上数据库
3.在数据库连接正常以后,问题不在底层dao,而是spring
4.SpringMVC,整合的时候web.xml的DispatcherServlet需要在config里面调用到dao,service,mvc层的所 ...
WEB笔记
模拟数据源 DAO层123456789101112131415161718192021222324252627282930313233package com.zzh.web.dao;import com.zzh.web.pojo.Department;import org.springframework.stereotype.Repository;import java.util.Collection;import java.util.HashMap;import java.util.Map;@Repositorypublic class DepartmentDao { //模拟数据库的数据 private static Map<Integer, Department> departments = null; static { departments = new HashMap<Integer, Department>(); departments.put(101,new Department(1 ...
Eureka服务注册与发现
什么是EurekaNetflix在设计Eureka时,遵循的就是AP原则CAP原则:
C - consistency 强一致性
A - availalility 可用性
P - partition tolerance 分区容错性
CAP核心理论:一个分布式系统不可能同时很好的满足一致性,可用性,和分区容错性三个需求。
CA - 单点集群,满足一致性,可用性,通常在可拓展性上不太强大CP - 满足一致性,分区容错性的系统,通常性能不是特别的高AP - 满足可用性,分区容错性,通过对数据一致性要求低一些。
Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移,服务注册与发现对于微服务来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了,功能类似于Dubbo的注册中心工比如Zookeeper;
原理讲解
Eureka的基本架构
SpringCloud封装了NetFlix公司开发的Eureka模块来实现服务注册和发现(对比Zookeepe ...
Java开发中的常用注解
现阶段Spring中的常用开发注解lombok
@Data //使用这个注解可以省去实体类中大量的get()、 set()、 toString()
@NoArgsConstructor //无参构造
@Accessors(chain = true) //链式写法 dept.setDeptNo(11).setDname(‘ssss’).setDb_source(‘001’)
@AllArgsConstructor //有参构造
前情知识提要及常见问题
串一下自己学过的东西
JavaSE
数据库
前端
Servlet
Http
Mybatis
Spring
SpringMVC
SpringBoot
Dubbo、Zookeeper、分布式
Maven、git
Ajax、json
…../
xxx三层架构+MVC框架:
Spring IOC AOP //简化ssm的代码
SpringBoot 新一代的JavaEE开发标准,自动装配 //简化Spring的配置
模块化开发
微服务架构的四个问题:
服务很多,客户端怎么访问?
这么多服务?服务之间如何通信?
这么多服务?怎么治理?
服务挂了怎么办?
解决方案
Spring Cloud 生态圈 基于SpringBoot
Spring Cloud NetFlix — 多数使用,一站式操作,解决大部分问题,但停更:api网关,zuul组件;Feign —-HttpClinet —— Http通信方式,同步,阻塞;服务注册发现:Eureka;熔断机制:Hystrix;
Apache Dubbo Zookeeper — 半自动,需要整合:API:没有,第三方组件实现或自己实现;Duboo:RP ...
莫名刷到的段子
一些奇奇怪怪的语言土味想和橘子去100个城市来99个拥抱看98场日落要97次接吻拍96张照片买95朵玫瑰去94家餐馆看93次大海走92条小巷打91次雨伞还要90场牵手种89个草莓盖88次被子递87杯温水热86次剩饭看85次电影做84顿午饭切83个水果吃82次甜品喝81次暖茶要80次的拥抱吃79遍烧烤烤78次肉串涮77次火锅来76次海鲜吃75种小吃参74场晚宴喝73杯喜酒吃72次西餐尝71颗糖果给你70枚香吻荡69遍秋千看68次日出躺67次草地看66次星空闻65次头发抱64次肩胛吻63次脸颊亲62次锁骨咬61次耳朵然后60次相拥看59场鬼片喝58杯奶茶吃57桶米花逛56个商厦打55次的士坐54次公交等53次地铁开52次自驾站51遍路灯睡50次怀里去49个鬼屋看48场表演逗47只动物坐46次飞车玩45次激流滑44次滑梯坐43次飞椅转42次陀螺吊41次吊索然后40个接吻捂39次肚子揉38次肩膀捶37次后背捏36次小腿暖35次脚丫摸34次脑袋撮33次肋骨挠32次手心逗31场大笑然后30次拥吻放29个气球钓28只大鱼玩27次飞镖放26次风筝冲25次瀑布滑24艘小船蹦23场蹦极跳22次跳伞漂21次 ...