自定义博客皮肤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)
  • 收藏
  • 关注

原创 Sentinel

Sentinel 介绍随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel 具有以下特征:丰富的应用场景: Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、实时熔断下游不可用应用等。完备的实时监控: Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至

2021-12-31 12:10:01 138

原创 ConcurrentHashMap学习

研究背景:在项目中遇到,由于HashMap的线程不安全,导致程序报错如果多个线程同时访问一个哈希映射,并且至少有一个线程从结构上修改了该映射,则必须 保持同步。(结构上的修改是指添加或删除一个或多个映射关系的任何操作;仅改变与实例已经包含的键关联的值不是结构上的修改。)一般通过对自然封装该映射的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedMap 方法来“包装”该映射。最好在创建时完成这一操作,避免对映射进行意外的非同步访问,如下所示:Ma

2021-08-22 23:33:04 128

原创 2021-07-11

Shell 学习概述:shell 是一个命令行解释器,它接收应用程序/用户命令,然后调用系统的内核,操作硬件。编译环境常见的有,Bourne Shell(/usr/bin/sh或/bin/sh)Bourne Again Shell(/bin/bash)C Shell(/usr/bin/csh)K Shell(/usr/bin/ksh)Shell for Root(/sbin/sh)变量类型运行shell时,会同时存在三种变量局部变量:局部变量在脚本或命令中定义,仅在当前shell中有

2021-07-11 23:10:58 62

原创 Nacos-1

一、简介nacos全称 Dynamic Naming and Configuration Service。一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,即 注册中心+配置中心的集合。支持CP和AP。官方快速学习:https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html二、安装地址:https://nacos.io/zh-cn/index.html单机模式:修改startup.cmd set MODE=“standalone

2021-04-25 23:03:37 100

原创 SpringCloud-Ribbon、Feign

RibbonRibbon是Netflix发布的云中间层服务开源项目,其主要功能是提供客户端实现负载均衡算法。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。Ribbon是一个客户端负载均衡器,可以在配置文件中Load Balancer后面的所有机器,支持轮询,随机等多种算法连接这些机器,同时支持自定义的负载均衡算法。Ribbon和Nginx的区别服务器端负载均衡Nginxnginx是客户端所有请求统一交给nginx,由nginx进行实现负载均衡请求转发,属于服务器端负载均衡。既请求有

2021-04-18 23:25:10 63

原创 SpringCloud-Hytrix

概念Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。"断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会被长时间、不必要地占用,从而

2021-04-12 00:20:54 109

原创 SpringCloud至Eureka

介绍Spring-Cloud Euraka是Spring Cloud集合中一个组件,它是对Euraka的集成,用于服务注册和发现。Eureka是Netflix中的一个开源框架,现已停更。替代的方案 有zookeeper、Consul、nacos,都是用于服务注册管理的。Euraka 遵循着CAP理论中的A(可用性)P(分区容错性)。cap:https://www.cnblogs.com/duanxz/p/5229352.htmlEureka Server 提供服务注册和发现Service Pr

2021-04-06 00:20:49 50

原创 2021-03-28

SpringCloud之SpringBoot学习SpringBoot是什么?1、基于spring开发,简化Spring配置,约定大于配置微服务架构单体应用,一个应用能做所有的事==>将应用拆分成一个个模块项目搭建1、官网生成2、IDEA构建参考例子:https://blog.csdn.net/baidu_39298625/article/details/98102453自动装配原理1、pom.xmlspring-boot-dependencies: 核心依赖无需指定版本,sp

2021-03-28 22:01:09 81

原创 2020-12-13

由于Redis是基于内存的数据库,为了保证数据的可用性,Redis提供了两种数据持久化机制,RDB (Redis DataBase)和 AOF (Append Only File)。用于crash后,redis的恢复。AOF持续的用日志记录写操作,它采用日志的形式来记录每个写操作,并追加到文件中。Redis 重启的会根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。优点:数据的完整性和一致性更高缺点:因为AOF记录的内容多,文件会越来越大,数据恢复也会越来越慢。aof机制默认关闭

2020-12-13 23:58:57 50

原创 2020-12-06

JVM堆特点:堆用于存储创建好的对象和数组jvm只有一个堆,被所有线程共享堆是一个连续的内部空间,内存分配灵活栈特点:栈描述的是方法执行的内存模型,每个方法被调用都会创建一个栈帧(即存储局部变量、操作数、方法出口等的地方)jvm为每个线程创建一个栈(main),用于存放该线程执行方法的信息(实际参数、局部变量等)栈属于线程私有,不能实现线程间的共享存储属性(先进先出,后进先出)栈是系统自动分配,连续的内存空间元空间由于方法区主要存储类的相关信息,所以对于动态生成类的情况比

2020-12-06 22:31:04 68

原创 2020-12-06

Apollo学习简介1、Apollo是携程框架部门研发的分布式配置中心2、集中化管理应用的不同环境和不同集群的配置3、配置修改后能够实时推送到应用端4、具备规范的权限、流程治理等特性特性1、动态配置,即热部署2、集群配置(本地多活)3、命名空间配置(key,value)4、版本控制,回滚5、灰度发布Apollo基础模型,(热部署、无需重启应用)Apollo 架构图与设计理念·Apollo Client是应用添加配置中心的客户端,由客户端负责和Apollo配置中心进行交互. C

2020-12-06 22:02:02 114 1

原创 2020-11-30

Java 23种设计模式之建造者模式建造者模式定义:可以将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象。适用场景隔离复杂对象的创建和使用,相同的方法,不同执行顺序,产生不同事件结果多个部件都可以装配到一个对象中,但产生的运行结果不相同产品类非常复杂或者产品类因为调用顺序不同而产生不同作用初始化一个对象时,参数过多,或者很多参数具有默认值

2020-11-30 00:18:07 107

原创 2020-11-29

RocketMQ 学习笔记(1)各角色的关系:1、Name Server与Producer:Producer从Name Server获取Broker地址,将消息发送至这台机器上暂存。2、Name Server与Consumer:同时Consumer也从Name Server获取地址消费消息。3、Name Server与Broker:管理Broker,Broker将自身信息上报到Broker。4、Broker集群为一主一从时Master与Slaver分别充当Producer的写和Consumer的

2020-11-29 22:21:52 120

原创 2020-11-22

数据库连接池为什么要用连接池?https://www.zhihu.com/question/349816338简单说,为每一个请求都去获取数据库连接的,用完又断开连接的行为非常奢侈的,且耗时。线程池同样如此。数据库连接池的原理如下图:首次请求: 1. 用户请求进来 2. java代码 3. 到数据库连接池拿连接,初始化的连接池连接数量为0 4. 返回空连接 5. jdbc获取数据库连接 6. 返回连接,java程序curd 7. 把连接放回连接池,以便下次使用后续请求:1-&gt

2020-11-22 22:05:37 53

原创 2020-11-15

logback相关知识logback介绍简单说,就是一套日志框架。共有三个模块:logback-core,logback-classic和logback-access。以下从官网摘抄:logback-core模块为其他两个模块奠定了基础。logback-classic模块可以被同化为log4j的显着改进版本。此外,经典的logback本质上实现了SLF4J API,因此您可以轻松地在logback和其他日志框架(例如log4j或java.util.logging(JUL))之间来回切换。logba

2020-11-17 19:28:24 92 2

原创 2020-10-25

Java 23种设计模式之单例模式设计模式是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。单例模式单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。1.单例模式的优点:保证内存里只有一个实例,减少了内存的开销。避免对资源的多重占用。设置全局访问点,可以优化和共享资源的访问。2.单例的实现:懒汉式:线程安全(synchronized)

2020-10-26 09:26:00 74 1

原创 2020-10-26

Git的基础概念与常用命令Git简介git一个开源的分布式版本控制基本概念 工作区:idea操作到的本地目录 暂存区:暂存区域是一个文件,保存了下次要提交的代码,一般是.git目录下的index文件 git add file1 提交至暂存区,git commit ‘’ 提交暂存区的内容 版本库:push到的远程仓库...

2020-10-26 09:25:45 67

空空如也

空空如也

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

TA关注的人

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