自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker学习笔记

Docker为什么使用容器上线流程繁琐开发->测试->申请资源->审批->部署->测试等环节资源利用率低普遍服务器利用率低,造成过多浪费扩容/缩容不及时业务高峰期扩容流程繁琐,上线不及时服务器环境臃肿服务器越来越臃肿,对维护、迁移带来困难环境不一致性Docker是什么使用最广泛的开源容器引擎一种操作系统级别的虚拟化技术依赖于Linux内核特性,Namespace(资源隔离)和Cgroups(资源限制)一个简单的

2022-05-09 16:29:32 434

原创 SpringCloud Alibaba学习07-服务配置

七、服务配置7.1 服务配置中心介绍7.1.1 未使用配置中心时的问题配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变得越来越多,且分散在各个微服务中,不好统一配置和管理配置文件无法区分环境。微服务项目可能会有多个环境。如测试环境、预发布环境、生产环境。每个环境下使用的配置理论上是不同的,一旦需要修改则需要去各个微服务下手动维护配置文件无法试试更新。我们修改配置文件后必须重启微服务才能使配置生效,这对一个正在运行的项目来说是非常不友好的7.1.2 配置中心的思路首先把项

2022-05-08 22:43:39 423

原创 SpringCloud Alibaba学习06-链路追踪

六、链路追踪在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是有不同的团队开发,可能使用不同的编程语言来实现,有可能不在几千台服务器,横跨多个不同的数据中心,也就意味着这架构形式胡存在如下一些问题如何快速发现问题?如何判断故障影响范围?如何树立服务依赖以及依赖的合理性?符合拆分链路性能问题以及实时容量规划?6.1 链路

2022-05-08 22:41:59 2298

原创 SpringCloud Alibaba学习05-服务网关Gateway

五、服务网关Gateway5.1 Gateway基础使用创建api-gateway网关服务导入相关依赖pom.xml<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.1.0.RELE

2022-05-08 22:38:52 147

原创 SpringCloud Alibaba学习04-服务容错

四、服务容错4.1 高并发带来的问题在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但由于网络原因或自身原因,服务并不能保证服务的100%可用,若单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的请求涌入,就会形成任务堆积,导致服务瘫痪。4.2 常见容错方案和思路要防止雪崩的扩散,我们就要做好服务的容错。容错说白了就是保护自己不被猪队友拖垮的一些措施。4.2.1 隔离它是只讲系统按照一定的原则划分为若干个服务模块,各个模块之间相对独立,无强依赖。

2022-05-08 22:35:29 297

原创 SpringCloud Alibaba学习03-服务治理

三、服务治理上面几个微服务的实现会出现三个问题,为了解决这三个问题出现了服务治理,服务治理是微服务架构中最核心最基本的模块,用于实现各个未付的自动化注册与发现。服务注册: 在服务治理框架中都会构建一个注册中心,每个服务单元都向注册中心登记自己提供服务的详细信息,并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去监测清单中的服务是否可用,若不可用则需在服务清单中将其剔除服务发现: 服务调用方向服务注册中心咨询服务,并获取所有服务的实例清单,实现对具体服务实例的访问3.1 服务注

2022-05-08 22:27:20 431

原创 SpringCloud Alibaba学习02- 微服务环境搭建

二、微服务环境搭建这里使用电商项目中的商品、订单、用户案列进行搭建2.1 案列准备2.1.1 技术选型mavenmysql8.0SpringData JPASpringCloud Alibaba技术栈2.1.2 模块设计parent 父工程shop-common 公共模块,主要是实体类和工具类shop-user 用户微服务【端口:807X】shop-product 商品微服务【端口:808x】shop-order 订单微服务 【端口:809x】2.2 创建父工程(

2022-05-08 22:19:10 268

原创 SpringCloud Alibaba学习01-基础理论

一、微服务介绍1.1 系统架构演变随着互联网的发展,网站应用的规模也在不断扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构答题经历如下几个过程:单体应用架构—》垂直应用架构—>分布式架构—>SOA架构—>微服务架构。以及Service Mesh(服务网格化)1.1.1 单体应用架构将一个网站的所有模块都放在一个项目里面。架构简单,对于一些小型项目来讲,开发与维护简单,部署只需要放到一个Tomcat服务器商即可。但对大型项目来讲,维护困难,单点容错率

2022-05-08 22:12:54 374

原创 RabbitMQ基础学习

消息队列-RabbitMQ什么叫消息队列**消息(Message)**指在应用间传送的任意数据,可以是纯文本,也可以包含嵌入对象**消息队列(Message Queue)**是一种应用间的异步写作机制,消息发送后可以立即返回,有消息系统来确保消息的可靠传递。消息发布者只管把消息发布到MQ中而不需要管水接受,消息接受这只管从MQ中取消息而不用管谁发布的。为何用消息队列订单系统举例未使用消息队列:用户点击下单按钮->扣减库存->生成相应单据->发红包->发短信通知,

2021-11-17 22:46:15 779

原创 eureka常用配置参数

eureka常用配置项eureka: # 实例配置 instance: # 客户端在注册时使用自己的IP而不是主机名,缺省:false prefer-ip-address: true # 用实例IP ip-address: ${spring.cloud.client.ip-address} # Eureka客户端向服务端发送心跳的时间间隔,单位:秒,默认:30 lease-renewal-interval-in-seconds: 30 # E

2021-10-31 19:36:13 1293

原创 Eureka与Ribbon笔记

Eureka与Ribbon注册中心注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其他服务时,就到这里找到服务的地址进行调用常见的注册中心Netflix EurekaAlibaba NacosHashiCorp ConsulApache ZookeeperCoreOS EtcdCNCF CoreDNS特性EurekaNacosConsulZookeeperCAPAPCP+A

2021-08-22 22:31:53 866

原创 ReenTranLoack源码阅读

ReenTranLoack源码阅读ReenTranLoack是java并发保重的提供的一个可重入的互斥锁。与synchronized语义上类似且都具有可重入性。但ReenTranLoack可以实现公平锁与非公平锁,也可绑定多个ConditonReentrantLockDemo.javapublic class ReentrantLockDemo { //创建ReentrantLock实例,默认使用非公平锁 private static final ReentrantLock lock =

2021-05-27 17:31:39 80

原创 设计模式学习笔记4(行为型)

行为型描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法和对象间职责的分配模板方法模式概述定义一个操作中的算法骨架,将算法的一些步骤延迟到子类中,使得子类在可以不改变算法结构的情况下重新定义该算法的某些特定步骤优缺点优点:封装了不变部分,扩展可变部分。即将不变部分分装到父类中,可变部分交由子类实现提取了父类中公共的代码部分,实现了代码的复用符合了开闭原则缺点:增加了类的个数,使得系统更加庞大使用继承关系导致无法添加新的方法实现publ

2021-04-15 15:38:49 71

原创 设计模式学习笔记3(结构型)

结构型关注点’将类或对象按某种布局组成更大的接口’,分离类结构模型(采用继承或实现)和对象结构模型(采用组合或聚合)代理模式概述为某对象提供一种代理以控制对象的访问。客户端通过代理对象间接访问该对象,从而限制、增强或修改该对象的一些特性优缺点优点:提高被代理的对象的安全性代理对象可以扩展被代理对象的功能客户端与被代理对象分离。提高系统的扩展性,降低耦合度缺点:增加了系统的复杂度客户端访问被代理对象时需要通过代理对象,会造成请求处理速度变慢造成系统类数量的增多实现

2021-04-14 10:26:47 67

原创 设计模式学习笔记2(创建型模式)

创建型关注点是’怎样创建对象’,主要是将对象的创建与使用分离,降低系统的耦合度,使用户不需要关注对象的创建细节。单列模式概述在全局范围下,一个类只存在一个实例对象优缺点优点:保存内存中只有一个实例,减少内存开销可以避免对资源的多重占用可设置全局访问点,可以优化和共享资源的访问缺点:非面向抽象编程,扩展性低并发测试中不利于调试实现饿汉式单列/** * 单列对象 */public class Singleton{ private static fi

2021-04-13 15:51:28 81

原创 设计模式学习笔记1

常用设计模式什么是设计模式一套被反复使用、多数人知晓、经过分类编目的代码设计经验的总结,描述了在软件设计过程中一些不断重复发生的的问题以及解决方案。其目的是为了提高代码的可重用性、可读性和可靠性基本要素模式名称应用场景解决方案实际效果面向对象设计原则开闭原则概述当应用的需求改变时,在不修改应用原有代码的前提下可以扩展模块的功能。即对扩展开放,对修改关闭。作用软件测试时只需对扩展内容进行测试提高代码的可复用性提高代码的可维护性里氏替换原则概述子类可以扩展

2021-04-12 10:28:33 74

原创 redis笔记

Redis笔记入门概述1.是什么Redis:(REmote Dictionary Serve)远程字典服务器,是一个完全开源免费的,用C语言编写,遵守BSD协议;是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,且拥有丰富的数据类型(string,list,set,zset,hash)等,支持数据的备份(即master-slave模式的数据备份)2.主要用途**内存存储和持久化:**redis支持异步将内存中的数据写到硬盘上,同事不影响继续服务

2021-02-07 20:36:11 86

原创 mybatis简单入门

mybatis框架介绍MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。使用步骤1.创建maven项目,并在pom.xml中导入mybatis依赖<?xml version="1.0" enc

2020-11-17 21:06:14 174 2

原创 niginx核心配置文件介绍

Nginx介绍与配置介绍1、作用web服务器Http代理,反向代理负载均衡缓存处理2、Nginx配置文件的整体结构3、配置文件模块介绍1、全局块配置运行Nginx服务器用户(组)worker process数Nginx进程PID存放路径错误日志的存放路径配置文件的引入2、events块配置主要影响Nginx服务器与用户的网络连接设置网络连接的序列化是否允许...

2020-08-31 11:31:04 321

原创 Mysql变量、存储过程、存储函数笔记

变量一、系统变量变量有系统提供,不是用户定义,属于服务器层面,可以通过show global|session variables查看,注意:如果是全局级别,则需要加global,如果是回话级别,则需要加session,如果不写,默认为session1.全局变量针对于所有的会话连接有效,服务器重启后会重置为修改前的2.会话变量仅仅针对于当前会话# 查看所有系统变量show global|session variables;# 查看满足条件的部分系统变量show global|

2020-08-26 16:24:04 97

原创 API&SPI、异常理解

API&SPIAPI(Application Programming Interface)大多数情况下,都是实现方来制定接口并完成对接口的不同实现,调用方仅仅依赖却无权选择不同实现,例如:java中的各种可直接使用的工具包SPI(Service Provider Interface)而如果是调用方来制定接口,实现方来针对接口来实现不同的实现。调用方来选择自己需要的实现方。例如:JDBC区别java中区分API与SPI,通俗的讲:API和SPI都是相对的概念,差别只在语义上,AP

2020-08-25 17:09:17 225

原创 java笔记-枚举、反射、注解、序列化、泛型

枚举枚举的用法枚举的简单用法 /** * Java中每个枚举都继承自java.lang.Enum类,当定义一个枚举类时,每个枚举类型成员都可以看做时Enum类的实例,这些成员默认都被 * public static final 修饰,当使用枚举类型成员是,直接使用枚举名称调用成员即可 * 所有枚举类都可以调用Enum类的方法 * values(...

2020-08-25 17:05:32 271

原创 MySql进阶学习笔记

MySql进阶学习笔记(版本5.7.30)一、mysql 的架构介绍1.mysql简介概述MySql是一个关系型数据库管理系统,由瑞典MySql AB公司开发,目前属于Oracle公司MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。Mysql是开源的,所以不需要支付额外的费用。Mysql是可以定制的,采用GPL协议,你可以修改源码来开发自己的MySql系统Mysql支持大型的数据库。可以拥有上千万条记录的大型数据库

2020-06-22 22:53:12 531

原创 java笔记-IO、NIO学习

IO 流结构图概念流是一个抽象概念,可以抽象成一个数据传输的管道,是相对于程序来说的,按照方向来分:程序从外部读取信息时的管道就是输入流(InputStream的子类),把数据传输到外部时就是输出流(OutputStream的子类)。按照流的基本单位来分:传输过程中,传输数据的最基本单位是字节的流为字节流(通常以stream结尾),基本单位是字符的流为字符流(通常以reader和writ...

2020-03-17 16:26:34 126

原创 java集合笔记

集合类相关知识apache 常用工具类的使用参考:https://juejin.im/post/5b1695595188257d37761e68SynchronizedList 和 Vector 的区别相同点都是线程安全的底层都是使用数组来实现的不同点(主要就是同步块和同步方法的区别)SynchronizedList有很好的扩展和兼容功能。他可以将所有的List的子类转成线程安全...

2020-01-15 17:59:12 101

原创 java笔记

什么是面向对象简单来说就是讲一类具有相似特征的抽象化成一个整体,从更高层次来进行系统建模,更贴近事物的自然运行模式,例如:人、动物、运动员等都属于一个抽象化出来的对象面向对象的三大基本特征和五大基本原则三大基本特征封装把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承子类自动共享父类数据结构和方法的机制...

2020-01-09 21:13:38 93

原创 vue-个人笔记一

用于构建用户界面的渐进式框架

2019-10-29 11:15:45 124

原创 redis设置外网访问

step 1:把redis的端口放到了防火墙计划中 /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT /etc/rc.d/init.d/iptables savestep 2:更改redis.conf 文件 将bind 127.0.0.1 改为 bind 0.0.0.0或直接注释掉 protected-mode yes 改为...

2019-10-08 16:03:25 108

1_数据看板_生产.apk.1

1_数据看板_生产.apk.1

2022-12-07

空空如也

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

TA关注的人

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