自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 String

文章目录String概述字符串常量池String, StringBuffer and StringBuilderString概述String在Java中是不可变类,被final修饰,因此他不可被继承。(Integer 等包装类也不能被继承,也是不可变类)JDK8中String的底层实现是char数组public final class String implements java.io.Serializable, Comparable<String>, CharSequence

2020-06-26 11:38:47 185

原创 springcloud bus

springcloud busspring cloud bus配合spring cloud config可以实现配置的动态刷新作用:管理和传播分布式系统间的消息广播状态更改,事件推送等做微服务间的通信通道基本原理:configClient实例都监听MQ中同一个topic(默认是springcloudBus)当一个服务刷新数据时,他会把这个消息放入到topic中,这样其他监听同一个topic的服务就能得到通知,然后去更新自身的配置原理demo搭建服务端搭建添加依赖:

2020-06-20 23:06:08 190

原创 sentinel

文章目录sentinel简介sentinel安装sentinel基本使用流控规则相关概念降级系统规则demosentinel简介随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助您保障微服务的稳定性。sentinel安装在这里推荐docker安装拉取镜像docker pull bladex/sentinel-dashboard运行镜像docker run --

2020-06-18 01:30:44 204

原创 springcloud config demo搭建

springcloud config demo服务端搭建新建远程git仓库,保存配置,并将仓库拉到本地,以后更新配置可在本地更新,在push到远程仓库新建3355配置中心模块添加依赖: <!--config server--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId

2020-06-17 02:00:15 325

原创 Apollo配置中心

文章目录配置中心springboot集成ApolloApollo安装springboot集成配置中心原来的单体项目,我们在做配置的时候其实是很轻松的,一个配置文件就可以搞定了,但是在分布式环境下,如果想动态改变系统配置,无非就是以下几种方式:将配置写入数据库,定时任务定时轮询,更新系统配置,但是这种方案有一定的延时,而且定时轮询也会消耗大量的数据库资源人肉修改每台机器上的配置文件将配置写到分布式缓存,每次业务调用都从缓存读取最新配置。这种方式是反伸缩模式的,而且缓存很容易成为热点和单点那么配

2020-06-17 00:48:51 4476

原创 分页查询优化

文章目录分页查询优化简单分页子查询优化直接利用索引定位优化分页查询优化当需要从数据库查询的表的数据量很庞大时,一次性查询全部记录的耗时可能会非常慢,而且,随着数据量的增多,会变得越来越耗时,这时候就需要使用到分页查询简单分页对于一般数据量不大,且对时间耗时不严格的业务,我们使用一般的简单分页查询就可以了-- 跳过1000条记录,查询1000条,即一页1000条记录select * from table limit 1000 offset 1000我个人习惯是上边的写法,或者这样写也可以:

2020-06-15 14:10:49 255

原创 gateway服务网关

文章目录服务网关简介Gateway工作流程三大核心概念处理流程demo服务网关简介服务网关能提供一种简单有效的方式来对API进行路由,以及提供一些强大的过滤器功能,例如熔断,限流,重试等Gateway是基于spring5,springboot2和project reactor等技术网关是所有微服务的入口Gateway工作流程三大核心概念路由路由是构建网关的基本模块,他由ID,目标URI,一系列的断言和过滤器组成,如果断言为true则匹配该路由断言判断接收到的请求和断言是否匹配,

2020-06-15 00:39:23 2596 1

原创 hystrix服务熔断和降级

hystrix简介分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免的失败当多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的扇出,如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,从而引出系统崩溃,这就是服务雪崩解决方案hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统中,许多依赖不可避免的会调用失败,比如超时,异

2020-06-14 02:55:26 440 1

原创 openFeign服务调用

文章目录openFeign设计原理传统http请求流程openFeign流程实践openFeign设计原理openFeign是轻量级的Http请求框架,不再像restTemplate那样显式声明请求URL,参数,返回类型,直接通过模块化的思想,将服务调用层封装为一个模块,在controller层像调用普通service那样调用,相对更加直观。封装了Http调用流程,更适合面向接口化的变成习惯传统http请求流程类似httpclient,restTemplate,OkHttp都是如此openFei

2020-06-12 01:19:05 1485

原创 Java代码实现负载均衡五种算法

文章目录概况轮询法加权轮询法随机法加权随机法IP哈希法参考:Java代码实现负载均衡五种算法概况轮询法轮询算法按顺序把每个新的连接请求分配给下一个服务器,最终把所有请求平分给所有的服务器。优点:绝对公平缺点:无法根据服务器性能去分配,无法合理利用服务器资源。@Configuration@Slf4jpublic class RoundMethod { // 指向该服务的server的指针 AtomicInteger index = new AtomicInteger(

2020-06-10 11:35:55 710

原创 Ribbon负载均衡

文章目录Ribbon简介ribbon使用Ribbon简介ribbon是一种客户端负载均衡工具负载均衡是什么?简单来说就是将用户的请求平摊的分配到多个服务商,从而达到系统的HA(高可用),nginx,LVS都是常见的负载均衡的工具Ribbon客户端负载均衡和nginx服务端负载均衡的区别?nginx服务端负载均衡是客户端将请求提交到nginx,由nginx实现负载均衡(集中式负载均衡)ribbon客户端负载均衡是客户端本地负载均衡,在调用微服务接口的时候,会在注册中心上获取注册信息服务列表

2020-06-10 01:15:36 192

原创 zookeeper服务注册和服务发现

文章目录zookeeper docker单机安装使用和连接zookeeper数据结构zookeeper集群模式springcloud整合zookeeper作为注册中心zookeeper docker单机安装使用和连接拉取镜像docker pull zookeeper启动容器并添加映射docker run --privileged=true -d --name zookeeper --publish 2181:2181 -d zookeeper:latest客户端命令连接zookeepe

2020-06-09 16:06:40 1075

原创 eureka服务注册

文章目录一,注册中心概述1.1 注册中心解决了什么问题?1.2 微服务的注册中心1.3 常见的注册中心二,Eureka2.1 Eureka基本组成2.2 Eureka服务治理机制2.3 搭建Eureka server2.4 搭建Eureka client2.5 注册中心集群部署2.6 Eureka自我保护机制一,注册中心概述1.1 注册中心解决了什么问题?微服务是不同的服务分布在不同的主机上,服务跟服务之间可能存在调用关系,那么之前我们可能是通过硬编码写死服务地址的方式来调用其他服务,这样对于后期服务

2020-06-07 23:53:05 336

原创 快手java开发面经

快手是我春招拿到的第一个offer,base北京,java开发快手一面时间:2020/04/03 10:00历时:60分钟自我介绍项目介绍做题求1到n的和(递归和遍历,等差数列公式O(1))二叉树中最深叶节点的节点和get和post的区别,post为什么是两次TCP连接,解释下幂等性口述下工厂模式,抽象工厂和简单工厂快手二面时间:2020/04/10 15:00历时:45分钟自我介绍项目介绍项目中负责的模块项目难点,亮点,怎么解决项目中订单模块说下堆

2020-06-01 00:20:34 1665

go语言源码包

方便那些不能下的朋友们,这是go的包,本人官网下载

2019-05-03

空空如也

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

TA关注的人

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