自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (10)
  • 收藏
  • 关注

原创 Kubernetes快速开始

中文官网:https://kubernetes.io/zh/目标与简介0:目标使用 kind 快速部署本地 kubernetes 集群,在 kubernetes 集群上运行 demo web 程序,并配置 https 安全访问 web 程序。1:kuberneteskubernetes 是一种可自动实施 linux 容器操作的开源平台。可以帮助用户省去应用容器化过程的许多手动部署和扩展操作。也就是说,用户可以将运行 linux 容器的多组主机聚集在一起,使用 Kubernetes 轻松高效地管理.

2021-09-15 09:32:22 419

原创 从k8s.gcr.io拉取镜像

此方案需有科学上网环境打开并登陆谷歌云控制台:https://console.cloud.google.com/点击激活Cloud Shell点击后即可进入Cloud Shell终端在终端内执行命令从谷歌镜像仓库拉取镜像,然后登陆阿里云镜像仓库,给镜像重新打标记,最后将镜像推送至阿里云镜像仓库# 在控制台从谷歌镜像仓库拉下镜像docker pull k8s.gcr.io/ingress-nginx/controller:v1.0.0docker pull k8s.gcr.io/ingre

2021-09-13 11:51:31 1000

原创 Maven插件jib构建SpringBoot Docker镜像并运行

使用 Maven 插件 jib 将 SpringBoot Demo 项目打包成docker镜像,推送到阿里云容器镜像服务仓库,在客户端使用docker拉取镜像并运行Demo项目前置条件开通阿里云容器镜像服务,个人实例免费0:在产品与服务列表找到容器镜像服务1:创建个人实例2:进入个人实例可以看到个人版的容器镜像服务对仓库数量和命名空间有一定的数量限制,根据左边导航菜单可以进入镜像仓库、命名空间和创建访问凭证等;概述面板有个人实例的公网地址,下文会用到3:创建命名空间建议开启自动创建仓库

2021-09-03 14:10:39 638

原创 Arthas快速开始

下载curl -O https://arthas.aliyun.com/arthas-boot.jar启动1,执行java -jar arthas-boot.jar2,选择应用Java进程序号基础指令reset: 重置增强类,将被 Arthas 增强过的类全部还原,Arthas 服务端关闭时会重置所有增强过的类quit: 退出当前 Arthas 客户端,其他 Arthas 客户端不受影响stop: 关闭 Arthas 服务端,所有 Arthas 客户端全部退出dashboard查看

2020-11-27 17:18:56 289 1

原创 Spring Cloud Gateway聚合Swagger文档

版本SpringBoot:2.2.5.RELEASESpringCloud:Hoxton.SR3Swagger:2.9.2食用0:引入swagger依赖在微服务及网关中引入swagger pom依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.

2020-06-29 14:36:15 893 2

原创 Seata(分布式事务解决方案) AT模式工作机制

案例update product set name = ‘GTS’ where name = ‘TXC’;一阶段(准备)解析业务SQL,得到 SQL的类型(UPDATE),表(product),条件(where name = ‘TXC’)等相关的信息查询前镜像,根据解析得到的条件信息,生成查询语句(select id, name, since from product where nam...

2020-04-23 14:45:08 562

原创 使用Spring AOP基于Redisson快速实现分布式锁

版本SpringBoot:2.2.6.RELEASERedisson:3.12.5依赖<!--核心依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis&l...

2020-04-23 13:54:22 967

原创 Seata(分布式事务解决方案)快速开始

版本SpringBoot:2.2.5.RELEASEJdk:1.8Maven:3.5.2Idea:2019.3Seata:1.1.0链接Seata:http://seata.io/zh-cn/Spring Cloud Alibaba https://spring.io/projects/spring-cloud-alibaba

2020-04-20 14:23:06 1687

原创 JDK14新特性详解

https://blogs.oracle.com/java-platform-group/the-arrival-of-java-14https://www.oracle.com/corporate/pressrelease/oracle-announces-java14-031720.html

2020-04-18 22:55:44 4558

原创 策略模式在支付场景中的最佳实践

版本SpringBoot:2.2.5.RELEASEJdk:1.8Maven:3.5.2Idea:2019.3准备模板方法模式在支付场景中的最佳实践食用0:融入策略模式支付场景中加入模板方法模式后,还有一点可以改进的地方:选择支付方式,在“模板方法模式在支付场景中的最佳实践”一文中我们发现,发起支付时,我们需要手动选择对应的支付方式来发起支付,下面来看看如何根据传入的“支付方...

2020-04-16 13:33:35 290

原创 模板方法模式在支付场景中的最佳实践

版本SpringBoot:2.2.5.RELEASEJdk:1.8Maven:3.5.2Idea:2019.3要点模板方法定义了算法的步骤,把这些步骤的实现延迟到子类模板方法模式为我们提供了一种代码复用的重要技巧模板方法的抽象类可以定义具体方法、抽象方法和钩子抽象方法由子类实现钩子是一种方法,它在抽象类中不做事,或者只做默认的事情,子类可以选择要不要去覆盖它为了防止子类...

2020-04-16 10:45:29 517

原创 SpringBoot整合Spring Security + JWT

版本SpringBoot:2.2.5.RELEASEjjwt:0.9.0Jdk:1.8Maven:3.5.2Idea:2019.3依赖项目pom.xml文件中引入Spring Security和Jwt的依赖坐标<dependency> <groupId>org.springframework.boot</groupId> &l...

2020-04-15 14:05:07 1553 5

原创 SpringBoot整合Spring Data Elasticsearch

版本SpringBoot:2.2.5.RELEASEElasticsearch:6.8.8Jdk:1.8Maven:3.5.2Idea:2019.3选型Spring Data ElasticsearchElasticsearchSpring Boot3.2.x6.8.42.2.x3.1.x6.2.22.1.x3.0.x5.5.02.0...

2020-04-10 11:51:34 454

原创 SpringBoot整合Spring Data Redis

版本SpringBoot:2.2.5.RELEASEJdk:1.8Maven:3.5.2Idea:2019.3依赖pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-r...

2020-04-10 10:56:27 197

原创 Nacos集群部署

环境64 bit OS Linux/Unix/Mac,推荐使用Linux系统64 bit JDK 1.8+架构一个nginx节点三个nacos节点一个MySQL数据库实践1,准备一个高可用MySQL数据库,新建nacos_config数据库,执行nacos\conf\nacos-mysql.sql文件,得到12张表,用于持久化配置中心的数据2,修改nacos\conf...

2020-03-08 19:56:05 1472

原创 Nacos多项目多环境配置中心

链接https://nacos.io/https://github.com/alibaba/nacoshttps://github.com/alibaba/nacos/releaseshttps://nacos.io/zh-cn/docs/what-is-nacos.html简介动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置动态配置消除了配置变...

2020-03-08 17:03:16 3399 2

原创 注册中心Nacos、Eureka、Consul、Zookeeper和CoreDNS

对比NacosEurekaConsulZookeeperCoreDNSCAP定理CP/APAPCPCP-健康检查TCP/HTTP/MySQL/Client BeatClient BeatTCP/HTTP/gRPC/CmdKeep Alive-负载均衡权重/DSL/metadata/CMDBRibbonFabio-Round R...

2020-03-08 11:21:00 632

原创 Docker快速开始

准备OS:CentOS 7.x安装#安装yum install docker#启动和停止systemctl start dockersystemctl stop docker#设置为开机启动systemctl enable docker#查看版本信息docker -v镜像#搜索资源 eg:docker search redisdocker search <...

2020-02-26 17:12:49 192

原创 SpringBoot项目如何自定义Parent?

修改前<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.4.RELEASE</version> <relative...

2020-02-24 22:13:44 1626

原创 两种方式快速构建SpringBoot应用

方式在线构建Idea构建在线构建https://start.spring.io/第一步:选择应用基本信息项目类型、编程语言、SpringBoot的版本和一些项目基本元数据第二步:选择依赖可以直接搜索,也可以点开列表直接按需选择样例第三步:导出填写好信息,选择好依赖之后,点击"Generate"即可。点击后会自动下载一个.zip压缩文件,解压后就可以直接使用IDE打开该...

2020-02-24 22:05:24 125

原创 Java线程池的理解与使用

简介线程的创建需要开辟虚拟机栈、本地方法栈、程序计数器等线程私有的内存空间,在线程销毁时需要回收这些系统资源。频繁地创建和销毁线程会浪费大量的系统资源,增加并发编程风险,而且当服务器负载过大的时候,如何让新的线程等待或者友好地拒绝服务?这是线程自身无法解决的。所以需要通过线程池协调多个线程,并实现主次线程隔离、定时执行、周期执行等任务作用利用线程池管理并复用线程、控制最大并发数等实现任务...

2020-02-20 19:55:34 147

原创 全方位对比Dubbo、Spring Cloud和Kubernetes

DubboSpring CloudKubernetes服务发现和LBZK/Nacos + ClientEureka + RibbonServiceAPI网关NAZuulIngress配置管理Diamond/NacosSpring Cloud ConfigConfigMaps/Secrets容错限流SentinelHystrixHea...

2020-02-20 09:51:35 622

原创 Java内存模型中的Happens-Before规则

规则Happens-Before 约束了编译器的优化行为,虽然允许编译器优化,但是要求编译器优化后一定遵守 Happens-Before 规则在 Java 语言里面,Happens-Before 的语义本质上是一种可见性,A Happens-Before B意味着 A 事件对 B 事件来说是可见的,无论 A 事件和 B 事件是否发生在同一个线程里。例如 A 事件发生在线程 1 上,B 事件发...

2020-02-19 14:25:51 135

原创 Java线程的生命周期(图)

状态Java线程的6种状态NEW:初始状态RUNNABLE:运行状态BLOCKED:阻塞状态WAITING:无时限等待状态TIMED_WAITING:有时限等待状态TERMINATED:终止状态转换Java线程状态之间的转换...

2020-02-18 13:45:48 417

原创 并发编程三大核心问题的诞生:可见性、原子性和有序性

可见性CPU缓存导致的可见性问题描述可见性指的是一个线程对共享变量的修改,另一个线程能够立刻看到。单核心情况下,所有线程操作的都是同一个CPU的缓存,一个线程对缓存的写,对另一个线程来说是可见的,但是在多核心情况下,每颗CPU都有自己的缓存,当线程分别在不同的CPU上操作时,共享变量一致性问题就出现了,这时一个线程对共享变量的操作对另一个线程而言就不具备可见性图解原子性线程切换带来...

2020-02-17 11:48:39 368

原创 Java基本数据类型

序号类型名称默认值大小最小值最大值包装类缓存区间1booleanfalse1B0(false)1(true)Boolean无2byte(byte)01B-128127Byte-128 ~ 1273char‘\u0000’2B‘\u0000’‘\uFFFF’Character(char)0 ~ (char)127...

2020-02-15 17:00:14 115

原创 Java集合框架图(完整)

[颜色含义]:红色代表接口,蓝色代表抽象类,绿色代表并发包中的类,灰色代表早期线程安全的类(基本已经弃用)[参考资料]:easy coding

2020-02-15 16:41:33 550 1

原创 Elasticsearch分片本质与集群的故障转移

分片简介primary shard:主分片,提升系统存储容量,通过主分片将数据分布在所有节点上,主分片可以将一个索引的数据分散在多个数据节点上,从而实现数据存储的水平扩展。主分片数在索引创建的时候指定,后续不能修改,如果需要修改则需要重建索引replica shard:副本分片,提高数据可用性,一旦主分片丢失,副本分片可以晋升成为主分片。副本分片可以动态调整。如果不设置副本分片,一旦节点出现故...

2020-02-15 12:36:13 587

原创 Java8 StreamAPI看这一篇就够了

简介Stream是Java 8的一大亮点,与 java.io包中的InputStream和OutputStream不同,Java 8中的Stream是对集合对象功能的增强,专注于对集合对象进行各种非常便利、高效的聚合操作,或者大批量数据操作。Stream API借助于同样新出现的Lambda表达式,极大地提高编程效率食用使用StreamAPI分三步获得个流中间操作终止操作获得流...

2020-02-15 11:01:53 244

原创 使用Draw免费在线作图

首页https://www.draw.io/补充第一次打开的时候可以设置语言和保存位置,选择Device的话就是直接保存在本地,需要的时候也可以从本地直接打开

2020-02-14 10:58:37 2660

原创 JVM类加载子系统

简介类加载子系统负责从文件系统或者网络中加载class文件,class文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载,具体能否运行由ExecutionEngine决定。加载的类信息存放在内存模型中的方法区,方法区中除了类的信息外,还有运行时常量池信息...

2020-02-14 10:43:19 149

原创 使用Cloud Toolkit部署标准Spring Boot应用

下载方式一:下载离线安装Idea插件https://plugins.jetbrains.com/plugin/11386-alibaba-cloud-toolkit方式二:打开File-Settings-Plugins搜索Alibaba Cloud Toolkit配置配置服务器Host脚本准备启动脚本deploy.sh#touch deploy.sh#vim deploy.sh...

2020-02-13 18:58:10 222

原创 Nacos快速开始

首页https://nacos.io下载https://github.com/alibaba/nacos/releases部署解压tar -zxvf nacos-server-$version.tar.gzLinux/Unix/Maccd nacos/binsh startup.sh -m standaloneWindows#或者直接双击startup.cmdcmd ...

2020-02-13 17:33:01 443

原创 Elasticsearch数据建模最佳实践

建模建议一:处理关联关系Object:优先考虑DenormalizationNested:当数据包含多数值对象(1:n),同时有查询需求Parent/Child:关联文档更新非常频繁PS:Kibana暂时不支持Nested类型和Parent/Child类型,如果需要使用Kibana进行数据分析则需要作出取舍建模建议二:避免过多字段字段过多不易维护,mappings信息保存在Clu...

2020-02-13 15:52:08 184

原创 Elasticsearch处理数据关联关系

关系型数据库的范式化设计:范式化设计(Normalization)的主要目的是减少不必要的更新,但是一个完全范式化设计的数据会经常面临查询缓慢的问题(数据库越范式化,需要Join的表就越多)反范式化设计(Denormalization):数据扁平,不使用关联关系,而是在文档中保存冗余的数据拷贝优点:无需处理Join操作,数据读取性能好(Elasticsearch通过压缩_source字段,减...

2020-02-13 15:31:32 687

原创 Kibana下载与部署

Kibanahttps://www.elastic.co/cn/kibana下载https://www.elastic.co/cn/downloads/kibana部署步骤指令bin/kibana查看http://localhost:5601安装插件bin/kibana-plugin listbin/kibana-plugin install plugin_loc...

2020-02-13 13:01:23 208

原创 Elasticsearch下载与部署

Elasticsearchhttps://www.elastic.co/cn/elasticsearch下载https://www.elastic.co/cn/downloads/elasticsearch部署步骤指令bin/elasticsearch -E node.name=node0 -E cluster.name=clustername-E path.data=node...

2020-02-13 12:25:20 187

原创 JVM内存模型(完整)

JVM完整内存模型

2020-02-13 11:46:18 99

原创 链路跟踪CAT、Zipkin和Apache Skywalking

CATZipkinApache Skywalking调用链可视化有有有聚合报表非常丰富少较丰富服务依赖图简单简单好埋点方式侵入侵入非侵入VM指标监控好无有告警支持有无有多语言支持Java/.net丰富Java/.net/NodeJS/PHP/Go存储机制MySQL(报表),本地文件/HDF...

2020-02-13 11:19:22 1432

原创 JVM中的双亲委派机制

描述Java虚拟机对class文件采用的是按需加载的方式,需要使用该类时才会将它的class文件加载到内存生成Class对象。加载某个类的class文件时采用的是双亲委派模式,即把请求交给父加载器处理,是一种任务委派模式模型)原理如果一个类加载器收到了类加载请求,且该类加载器存在父 类加载器,则委托给父类加载器执行,如果父类加载器还存在父类加载器则进一步向上委托,依次递归,最终到达引导...

2020-02-13 10:29:55 203

jdk-14.0.1_windows-x64_bin.exe.zip

Jdk14已经可以下载了。Java降低了成本,缩短了开发人员的时间框架,推动了创新并改善了应用程序服务,这是企业体系结构,财务和HR的首选编程语言。Java被用于许多行业,包括制造业,汽车业,保险业和公共部门。

2020-04-26

《Java开发手册》泰山版.zip

《Java开发手册》始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范。手册涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程规约、设计规约七大维度。此次泰山版发布,将带来三大亮点:新增5条日期时间规约;新增2条表别名sql规约;新增统一错误码规约。

2020-04-26

sentinel-dashboard-1.7.2.zip

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。(sentinel-dashboard-1.7.2,sentinel-envoy-rls-token-server-1.7.2)

2020-04-26

sentinel-envoy-rls-token-server-1.7.2.jar

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

2020-04-26

dbeaver-ce-7.0.3-win32.win32.x86_64.zip

Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Apache Hive, Phoenix, Presto, etc.

2020-04-24

dbeaver-ce-latest-win32.win32.x86_64.zip

Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Apache Hive, Phoenix, Presto, etc.

2020-04-24

elasticsearch-6.8.8.zip

官方原版elasticsearch-6.8.8。Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

2020-04-10

kibana-7.1.0-darwin-x86_64.tar.gz

官方Mac版本Kibana7.1.0。通过 Kibana,可以对自己的 Elasticsearch 进行可视化,还可以在 Elastic Stack 中进行导航,这样便可以进行各种操作了,从跟踪查询负载,到理解请求如何流经整个应用,都能轻松完成。

2020-02-13

kibana-7.1.0-linux-x86_64.tar.gz

官方Linux版本Kibana7.1.0。通过 Kibana,可以对自己的 Elasticsearch 进行可视化,还可以在 Elastic Stack 中进行导航,这样便可以进行各种操作了,从跟踪查询负载,到理解请求如何流经整个应用,都能轻松完成。

2020-02-13

kibana-7.1.0-windows-x86_64.zip

官方Windows版本Kibana7.1.0。通过 Kibana,可以对自己的 Elasticsearch 进行可视化,还可以在 Elastic Stack 中进行导航,这样便可以进行各种操作了,从跟踪查询负载,到理解请求如何流经整个应用,都能轻松完成。

2020-02-13

空空如也

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

TA关注的人

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