自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 SpringCloud学习笔记(七)----分布式技术栈之Zuul

一、概述Zuul是Spring Cloud Netflix的API网关。所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序。作为一个边界性质的应用程序,Zuul提供了动态路由、过滤、监控、弹性负载和安全功能。Zuul可作为一个微服务注册到Eureka中,同时从Eureka中获得其他微服务的消息。二、Zuul的使用1、新建一个微服务(Module)2、导入相关依赖3、编写配置文件server: port: 9527#spring配置spring: appli

2020-05-31 18:01:14 160

原创 SpringCloud学习笔记(六)----分布式技术栈之Hystrix

一、相关概念1、服务雪崩在一个分布式系统中,多个微服务之间存在着调用或者依赖的关系,若某条调用链路上的某个微服务崩溃,会导致整条链路的崩溃,从而引发服务雪崩。2、HystrixHystrix能保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。具体会向调用方返回一个服务预期的,可处理的备选响应,而不是长时间的等待或抛出调用方无法处理的异常,这样就可以保证服务调用方的线程不会呗长时间不必要的占用,从而避免故障在分布式系统中的蔓延,乃至雪崩。用途:服务降级、服务熔

2020-05-31 17:26:49 137

原创 SpringCloud学习笔记(五)----分布式技术栈之Feign调用微服务

一、简介不同于Ribbon+RestTemplate基于地址来调用微服务,Feign提供类似接口调用的方式来调用微服务,我们只需要创建一个接口并使用注解的方式来配置它(类似于Dao接口上标注Mapper注解,现在是一个微服务接口上面标注一个Feign注解)二、Feign使用1、springcloud-api和客户端(消费方)均导入Feign的依赖<dependency> <groupId>org.springframework.cloud</groupId>

2020-05-28 16:12:14 252

原创 SpringCloud学习笔记(四)----分布式技术栈之Ribbon实现负载均衡

一、简介1、概念Spring Cloud Ribbon是基于Netflix Ribbon实现的客户端负载均衡工具。负载均衡简单的说就是将用户的请求平摊的分配到多个服务山,从而达到系统的HA(高可用)2、常用的负载均衡软件:Nginx、LVSSpringCloud的负载均衡算法可用自定义3、负载均衡简单分类:集中式LB,如Nginx(消费方和提供方之间使用独立的LB设施)进程式LB,如Ribbon(将LB逻辑集成到消费方,消费方从服务注册中心获知哪些地址可用,然后在从这些地址中选出一个合适的服

2020-05-28 15:21:19 167

原创 SpringCloud学习笔记(三)----分布式技术栈之Eureka集群

一、简介Eureka包含两个组件:Eureka Server和Eureka Client。Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。二、创建Eureka

2020-05-19 17:56:42 195

原创 SpringCloud学习笔记(一)----微服务和微服务架构

1、微服务强调的是服务的大小,关注的是某一个点,是具体解决某一个问题/提供落地对应服务的一个服务应用,狭义的看,可以看做事IDEA中的一个个微服务工程/Moudel2、微服务架构一种架构模式,提倡将单一应用程序划分成一组小的服务,服务之间互相协调,互相配合,为用户提供最终价值。微服务架构4个核心问题:1)服务很多,客户端如何访问2)服务之间如何通信3)如何管理这么多的服务4)服务挂了怎么处理3、目前已有的解决方案1)Spring Cloud NetFlix,一站式解决方案api网关:z

2020-05-16 15:44:12 212

原创 SpringCloud学习笔记(二)----分布式技术栈之Dubbo和Zookeeper

一、简介Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现RPC是远程过程调用(Remote Procedure Call)的缩写形式,是一种进程/服务间的通信协议,类似http。二、Dubbo架构Provider:服务提供者Consumer:服务消费者Register:注册中心,推荐使用ZookeeperMoniter:监控中心,使用dubbo-admin,可以查看注册了哪些服务,哪些服务被消费

2020-05-15 16:22:47 274

原创 SpringBoot学习笔记(六)----Spring Security

一、简介Spring Security是和Spring Boot齐名的项目,是一个安全框架,引用官网的描述:“Spring Security is a powerful and highly customizable authentication and access-control framework”。基本上所有的安全框架都有两个主要目标:认证(Authentication)和授权(Authorization)学习Spring Security需要记住以下两个类:WebSecurityConfi

2020-05-14 19:20:53 466

原创 SpringBoot学习笔记(五)----整合MyBatis

第一步:导入mybatis依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version></dependency>第二步:在application.yml文件中配置数据源、数据

2020-05-14 15:41:29 113

原创 SpringBoot学习笔记(四)----整合Druid

第一步:添加Druid依赖<!-- https://mvnrepository.com/artifact/com.alibaba/druid --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.21</version></dependency>

2020-05-14 15:21:39 208

原创 SpringBoot学习笔记(三)----整合JDBC

第一步:新建SpringBoot项目时,勾选相应的模块:JDBC API和Mysql Driver,或者之后在pom文件中添加相关依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency>

2020-05-14 14:20:04 143

原创 SpringBoot学习笔记(二)----YAML语法

1、基本语法k:(空格)v:表示一对键值对(空格必须有)以空格的缩进来控制层级关系,只要是左对齐的一列数据,都是同一个层级的,键值都是大小写敏感server: port: 8081 path: /hello2、值的写法字面量:普通的值(数字,字符串,布尔)字符串默认不用加上单引号或者双引号;“”:双引号name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi‘’:单引号name: ‘zhangsan \n lisi’:输出;zh

2020-05-13 11:58:41 137

原创 SpringBoot 学习笔记(一)----SpringBoot自动装配原理

一、pom.xml文件几个核心依赖1、spring‐boot‐starter‐parent它的父项目spring-boot-dependencies管理Spring Boot应用里面的所有依赖版本 ,这样在dependencies里面管理的依赖都不需要写版本2、spring-boot-starter-webweb模块的场景启动器,帮我们导入了web模块正常运行所依赖的组件;Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starte

2020-05-13 11:25:04 137

原创 让学习成为一种习惯----史上最全面的Linux学习笔记!

目录工具命令概述目录处理命令文件处理命令链接命令权限管理命令文件搜索命令帮助命令用户管理命令压缩解压命令网络命令关机重启命令文本编辑器VimVim常用操作Vim使用技巧软件包管理软件包分类rpm包管理rpm命令管理yum在线管理源码包管理脚本安装包用户和用户组管理用户配置文件用户管理相关文件用户管理命令用户组管理命令权限管理ACL权限文件特殊权限文件系统属性chattr权限系统命令sudo权限文件...

2020-05-03 10:43:24 1493

原创 模拟socket网络通信两种方式----BIO、NIO

先附上模拟客户端的代码import java.io.IOException;import java.net.Socket;import java.util.Scanner;public class Client { public static void main(String[] args) { try { Socket socket=new Socket("127.0.0....

2020-04-06 18:30:41 466

原创 手写一个Spring AOP及Spring AOP代理的底层解析和两种代理模式

手写一个Spring AOP1、声明AspectJ风格的AOP的支持—配置类上添加@EnableAspectJAutoProxy注解。2、声明一个切面—定义一个切面类,并添加@Aspect注解,并在该切面类下声明切点和通知。参照: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference...

2020-04-04 21:57:42 255

原创 Spring Bean初始化的底层原理

Spring Bean初始化的底层原理在初始化Spring 容器,即new AnnotationConfigApplicationContext()之后就已经完成了spring bean的初始化(创建和注入依赖)。初始化过程中,会为每一个初始化的bean创建一个beanDefinition(描述该bean的实例,包括属性值、构造方法参数值、类信息等等),所有的beanDefinition都存在一...

2020-04-03 15:03:02 1021

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除