自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sid小杰的博客

转载注明出处

  • 博客(375)
  • 资源 (1)
  • 收藏
  • 关注

原创 k8s安装

一、准备步骤:步骤1.关闭三台设备selinux和设置防火墙selinux需要将修改/etc/selinux/config文件,将SELINUX设置为disable;# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.#

2021-09-06 18:30:45 315

原创 elasticsearch请求体查询

search API支持带请求体的GET请求,或者POST请求。这里举例一kibana中的dev tools界面为例本文参考了https://juejin.cn/post/6844903890396135438#heading-18一、通用请求1.集群健康检测在linux上 curl 'localhost:9200/_cat/health?v'在kibana dev tools上GET /_cat/health?v 绿色表示一切正常, 黄色表示所有的数据可用但是..

2021-09-06 18:29:40 40

原创 ELK+kafka+filebeats日志采集部署

ELK版本:7.4.0elastic官网地址:https://www.elastic.co/cn/elastic产品地址:https://www.elastic.co/cn/elastic-stackyum源地址:https://mirrors.tuna.tsinghua.edu.cn/elasticstack/yum一、ELK简介ELK主要由ElasticSearch、Logstash和Kibana三个开源工具组成,还有其他专门由于收集数据的轻量型数据采集器Beats。Elasticse

2021-08-24 18:33:03 86

原创 Kibana KQL查询语法

1.查看kibana状态http://172.20.10.10:5601/status

2021-08-24 18:32:23 395

原创 jenkins+ansible+gitlab+docker+compose+swarm 自动发布

docker安装:https://blog.csdn.net/jy02268879/article/details/111185992jenkins安装:https://blog.csdn.net/jy02268879/article/details/89819598ansible安装:https://blog.csdn.net/jy02268879/article/details/111478340gitlab安装:https://blog.csdn.net/jy02268879/articl

2021-08-20 18:52:09 36

原创 springcloud+dubbo+sentinel+nacos搭建(sentinel规则管理及推送、持久化)

前面两篇讲了不用springcloud做粘合,直接springboot+dubbo+nacos+sentinel的搭建这篇讲用springcloud做粘合是怎么搞的一、springcloud+sentinel在前面的项目的基础上加入 <!--sentinel 核心环境 依赖--> <dependency> <groupId>com.alibaba.cloud</groupId>

2021-08-20 18:38:03 64

原创 springcloud+dubbo+nacos搭建(nacos使用mysql存储)

前面两篇讲了不用springcloud做粘合,直接springboot+dubbo+nacos+sentinel的搭建这篇讲用springcloud做粘合是怎么搞的一、nacos作为注册中心1.原理2.调用方business服务代码场景是business项目调用storage项目目录pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.o.

2021-05-31 21:01:23 3325 2

原创 springboot+dubbo+nacos+sentinel搭建

上一篇详细讲了springboot+dubbo+nacos,在篇是在它的基础上加上sentinel注意,没有依赖springcloud的包一、下载安装sentinel-dashboard 即是sentinel的控制台https://github.com/alibaba/Sentinel/releases注意:启动 Sentinel dashboard控制台需要 JDK 版本为 1.8 及以上版本。启动命令java -Dserver.port=8080 -Dcsp.sentine

2021-05-31 21:00:20 114

原创 springboot+duubo+nacos搭建

一、nacos server下载安装1.下载https://github.com/alibaba/nacos/tags我就在windows上演示一下。这里下载的.zip文件2.安装二、nacos 配置中心三、nacos 注册中心

2021-05-31 20:59:44 143 2

原创 【十三】Dubbo源码分析之线程模型、限流、负载均衡、超时、重试、降级

一、限流介绍及配置Dubbo中能够实现服务限流的方式较多,可以划分为两类:直接限流与间接限流直接限流:通过对连接数量直接进行限制来达到限流的目的。间接限流:通过一些非连接数量设置来达到限制流量的目的。按照流量的方向又分为:入口限流与出口限流入口限流:以下图为例,就是Provider限制每个Consumer进来的流量,以防有Consumer突然流量飙升把Provider调死了出口限流:以下图为例,Consumer限制自己调用每个Provider的流量dubbo调用模型

2021-05-10 20:42:08 103 2

原创 【三】Spring Cloud Feign+Hystrix 使用

一、Spring Cloud Feign + Hystrix使用前面两篇已经讲过了直接HTTP调用,和用feign,用erueka注册中心做RPC调用。这张加上Hystrix做熔断降级的使用方式。不整个项目截图了,就做在前面两张的基础之前需要做什么修改和注意什么。首先是服务A调用服务B,那么实在服务A中加入Hystrix相关的东西对应到demo就是在order订单系统里面加Hystrix,不需要在item商品系统做修改依赖需要加入 <dependency>

2021-03-19 18:31:52 132

原创 【十二】SpringCloud整合seata分布式事务 AT模式

一、先启动注册中心这里使用注册中心eurekahttps://blog.csdn.net/jy02268879/article/details/100176361二、seata-server服务端启动及其配置下载seata-server服务端代码:https://github.com/seata/seata/releases要跑在Linux上就下载seata-server-1.4.1.tar.gz我这里是跑在windows上做个测试,所以下的seata-server-1.4...

2021-03-19 18:30:53 293

转载 【零】dubbo框架设计【转】

转自官方文档:http://dubbo.apache.org/zh-cn/docs/dev/design.html整体设计图例说明:图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service 和 Config 层为 API,其它各层均为 SPI。 图中绿色小块的为扩展接口,蓝色小块为实现类,图中只显示用于关

2021-03-09 23:06:40 41

原创 【十】Spring Cloud Hystix核心原理

一、简介RPC保护目标在分布式多节点集群架构系统内部,在节点之间进行RPC保护的目标如下:1.避免整个系统出现级联失败而雪崩,这是非常重要的目标。在RPC调用过程中,需要防止由单个服务的故障而耗尽整个服务集群的线程资源,避免分布式环境里大量级联失败。2.RPC调用能够相互隔离。为每一个目标服务维护着一个线程池(或信号量),即使其中某个目标服务的调用资源被耗尽,也不会影响对其他服务的RPC调用。当目标服务的线程池(或信号量)被耗尽时,拒绝RPC调用。3.能够快速地降级和恢复。

2021-03-08 21:47:19 129 3

原创 【九】Spring Cloud Ribbon源码分析

一、简介及核心原理Ribbo有两种结合使用的方式,一种是与RestTemplate结合使用,另外一种是与Feign结合使用,下面是结合RestTemplate的配置。@SpringBootApplication@EnableEurekaClient@EnableFeignClients@EnableHystrixpublic class OrderApp { public static void main(String[] args) { SpringAppl.

2021-03-08 21:46:50 178

原创 【八】Spring Cloud Feign核心原理及源码分析

一、简介Feign是Spring Cloud 中用于 RPC调用的模块。Feign的作用在应用启动的初始化过程中:(1)对于每一个RPC远程调用Java接口,Feign根据@FeignClient注解生成本地JDK动态代理实例。(2)对于Java接口中的每一个RPC远程调用方法,Feign首先根据Spring MVC(如@GetMapping)类型注解生成方法处理器MethodHandler实例,该实例内部包含一个请求模板RequestTemplate实例。在远程调用REST请求执.

2021-03-08 21:46:04 120

原创 【十二】kafka事务机制

转自Kafka 设计解析(八):Kafka 事务机制与 Exactly Once 语义实现原理,作者郭俊本文所有 Kafka 原理性的描述除特殊说明外均基于 Kafka 1.0.0 版本。Kafka 事务机制的实现主要是为了支持Exactly Once即正好一次语义 操作的原子性 有状态操作的可恢复性Exactly Once《Kafka 背景及架构介绍》一文中有说明 Kafka 在 0.11.0.0 之前的版本中只支持At Least Once和At Most Once语义,尚不支持.

2021-01-28 18:07:04 624

原创 【五】kafka体系架构之kafka服务端概述(broker、控制器)

1.Broker处理请求流程在Kafka的架构中,会有很多客户端向Broker端发送请求,Kafka 的 Broker 端有个 SocketServer 组件,用来和客户端建立连接,然后通过Acceptor线程来进行请求的分发,由于Acceptor不涉及具体的逻辑处理,非常得轻量级,因此有很高的吞吐量。接着Acceptor 线程采用轮询的方式将入站请求公平地发到所有网络线程中,网络线程池默认大小是 3个,表示每台 Broker 启动时会创建 3 个网络线程,专门处理客户端发送的请求,可以通.

2021-01-23 14:36:56 204 1

原创 【三】kafka体系架构之消费者客户端概述(分区分配策略、再均衡、偏移量)

参考提交偏移量消费端一、消费者代码demo讲解<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht.

2021-01-06 19:21:29 263

原创 centos安装ansible、jenkins+ansible自动发布

一、ansible简介ansible基于python开发,集合了众多优秀运维工具的优点,实现了批量运行命令、部署程序、配置系统等功能。默认通过SSH协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署变得更加简单。可同时支持多台主机并进行管理,使得管理主机更加便捷。核心组件:Host Lnventory:记录了每一个由Ansible管理的主机信息,信息包括ssh端口,root帐号密码,ip地址等等。可以通过file来加载,可以通过CMDB加载Playbo

2020-12-22 20:41:09 45

原创 安装dcoker版的gitlab

1.下载镜像docker pull beginor/gitlab-ce:11.0.1-ce.02.通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。mkdir -p /app/gitlab/etcmkdir -p /app/gitlab/logmkdir -p /app/gitlab/data3.运行docker run \ --detach \ --publish 8.

2020-12-21 20:06:06 49

原创 centos7安装docker、docker registry

官网https://www.docker.com/安装Docker前需要先下载相关的依赖1. 安装yum-utilssudo yum install -y yum-utils2. 下载docker-ce.reposudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo3.安装sudo yum install docker-.

2020-12-15 19:57:50 122

原创 dockerfile文件

一、Dockerfile简介1.什么是 Dockerfile?Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这

2020-12-14 21:07:16 87

原创 idea的Docker插件实现远程Docker连接(Remote API)

一、Docker开启Remote API访问2375端口1.Docker常见端口2375:未加密的docker socket,远程root无密码访问主机2376:tls加密套接字,很可能这是您的CI服务器4243端口作为https 443端口的修改2377:群集模式套接字,适用于群集管理器,不适用于docker客户端5000:docker注册服务4789和7946:覆盖网络2.开启方法一配置远程访问的API:vi /etc/default/docker加入下面一行

2020-12-14 21:03:15 627

转载 docker常用命令

参考https://www.cnblogs.com/duanxz/p/7905233.html从docker命令使用出发,梳理出如下命令结构图:一、Docker环境信息—docker [info|version]--info命令用于检测Docker是否正确安装,一般结合docker version命令使用。[root@bogon ~]# docker infoClient: Context: default Debug Mode: false Plugins: ..

2020-12-14 20:15:13 484

转载 VMware下的Centos7操作(NAT固定IP、开始SSH服务、开启远程ROOT密码登录)

NAT模式下设置固定IP:https://jingyan.baidu.com/article/75ab0bcbbbc630d6874db279.html 1 首先设置vmware能连网。右击虚拟镜像名,选择“管理” 2 然后下图这样设置就可以了。 3 打开终端,看一下网络,命令:ip add,可以看到一个en016777736(我的是这个名字,你的有可能不一样,记下你的就行)。 4 我们需要编辑它。 先获得root权限,命令:su

2020-12-14 20:14:21 140 1

原创 okhttp3源码分析之拦截链

okhttp3版本3.14.9一、简介1.请求流程图发出请求前,会经过interceptorChain,拦截链2.常见的拦截链有RetryAndFollowUpInterceptor重试与重定向拦截器用来实现重试和重定向功能,内部通过while(true)死循环来进行重试获取Response(有重试上限,超过会抛出异常)。followUpRequest主要用来根据响应码来判断属于哪种行为触发的重试和重定向(比如未授权,超时,重定向等),然后构建响应的Request进行下.

2020-12-14 20:12:53 125

原创 okhttp3源码分析之请求流程

okhttp3版本3.14.9请求流程maven <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.14.9</version> </dependency&gt

2020-12-02 19:48:41 75

原创 【十二】Dubbo之SPI与自适应拓展机制

一、Dubbo SPI首先,JAVA 本身的SPI机制,请看这篇:【转】SPI服务加载机制注册驱动原理分析、线程上下文类加载器、违反双亲委派模型Java SPI的使用很简单。也做到了基本的加载扩展点的功能。但Java SPI有以下的不足:需要遍历所有的实现,并实例化,然后我们在循环中才能找到我们需要的实现。 配置文件中只是简单的列出了所有的扩展实现,而没有给他们命名。导致在程序中很难去准确的引用它们。 扩展如果依赖其他的扩展,做不到自动注入和装配 不提供类似于Spring的IOC和A..

2020-11-25 20:09:35 152

原创 【十一】dubbo源码分析之服务提供方接收请求+处理

一、简介1.服务提供方接收请求的大致流程默认情况下 Dubbo 使用 Netty 作为底层的通信框架。1.Netty 检测到有数据入站后,通过解码器对数据进行解码。解码器将数据包解析成 Request 对象。入站开始的调用链Netty相关部分Netty相关部分:DefaultThreadFactory$DefaultRunnableDecorator.run -------->SingleThreadEventExecutor.run-------->NioEv.

2020-11-25 19:44:14 95

原创 【十】dubbo源码分析之服务提供方返回结果+服务调用方接收返回

一、服务提供方返回结果服务提供方调用指定服务后,会将调用结果封装到 Response 对象中,并将该对象返回给服务消费方。服务提供方也是通过 NettyChannel 的 send 方法将 Response 对象返回。二、服务调用方接收返回服务消费方在收到响应数据后,首先要做的事情是对响应数据进行解码,得到 Response 对象。然后再将该对象传递给下一个入站处理器,这个入站处理器就是 NettyHandler。接下来 NettyHandler 会将这个对象继续向下传递,最后.

2020-11-25 19:42:45 228

原创 【九】dubbo源码分析之服务调用方发起调用+发送请求(入口InvokerInvocationHandler.invoke)

一、简介dubbo的服务调用主要包括几个大的步骤1.发送请求2.编解码3.服务降级4.过滤器链处理5.序列化6.线程派发以及响应请求二、服务调用的发送与接收1.服务调用方2.服务接收方三、响应发送与接收响应1.服务接收方的响应2.服务调用方接收响应...

2020-11-05 23:50:51 440

原创 【八】dubbo源码分析之集群Cluster

一、简介Cluster主要两个作用1.将多个服务提供者合并为一个 Cluster Invoker,并将这个 Invoker 暴露给服务消费者。集群模块是服务提供者和服务消费者的中间层,为服务消费者屏蔽了服务提供者的情况。服务A调用服务B,服务B有5台机器,Cluster会决定到底调用服务B的哪台机器。服务A不用关心这个。2.集群容错。服务调用失败的时候,做什么处理(重试?抛出异常?仅仅打印异常日志等等)dubbo中集群容错相关的组件有:Cluster、Cluster Invoker

2020-11-05 23:49:34 119

原创 【七】dubbo源码分析之服务目录Directory

简介Directory主要做什么事的:1.服务目录中存储了一些和服务提供者有关的信息,通过服务目录,服务消费者可获取到服务提供者的信息,比如 ip、端口、服务协议等。2.服务目录在获取注册中心的服务配置信息后,会为每条配置信息生成一个 Invoker 对象,并把这个 Invoker 对象存储起来,这个 Invoker 才是服务目录最终持有的对象。3.Invoker这是一个具有远程调用功能的对象。4.服务目录会随注册中心的变化而进行动态调整。继承关系图Node 这个接口继承者有

2020-11-02 20:43:28 134 2

原创 【六】dubbo源码分析之服务调用方refer(服务引用、服务订阅、创建invoker、创建代理、查看动态生成的.class文件)

前面一篇讲了服务调用方启动的大致流程本章主要讲refer服务引用,分成两个重点,一个是创建invoker,一个是创建代理。

2020-11-02 20:39:40 514

原创 【五】dubbo源码分析之服务调用方启动

1

2020-11-02 20:38:24 170 2

原创 【四】dubbo源码分析之服务提供方registry(服务注册)

1

2020-10-27 21:03:10 201

原创 【三】dubbo源码分析之服务提供方export(服务暴露)

上一章讲了服务提供方启动的时候会扫描所有@Service注册,并注册相应的ServiceBean。spring发送ContextRefreshedEvent后每个ServiceBean会通过自生的export方法暴露。这章详细讲export怎么暴露服务,注册到注册中心。ServiceBean.export public void export() { super.export(); // Publish ServiceBeanExportedEvent

2020-10-27 21:00:51 210 1

原创 【二】dubbo源码分析之服务提供方启动(注解方式启动spring+dubbo)

测试使用代码:https://github.com/apache/dubbo-samples.git2.6.X分支服务提供方的启动代码:/* * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additiona

2020-10-27 20:58:30 280

转载 【转】深入理解Instrument

转自:https://www.throwable.club/2019/06/29/java-understand-instrument-first/前提很早之前就了解到目前主流的APM开源框架如Pinpoint、SkyWalking等等都是通过java.lang.instrument包提供的字节码增强功能来实现的。趁着对这块的热情还没消退,抽时间分析一下java.lang.instrument包的使用方式,记录下来写成一个系列的文章。本系列博文针对的是JDK11,其他版本的JDK可能不适合。

2020-10-21 20:15:12 664

hadoop-eclipse-plugin-2.9.0套装

其中插件包是hadoop-eclipse-plugin-2.5.1.jar hadoop.ddl和winutils.exe是hadoop2.9.0的,有64位和32位的 亲测hadoop.ddl和winutils.exe可用 这个2.5.1的插件包在hadoop2.9.0中也能能。 2.5.1插件包能不能用主要是看eclipse的版本。 我用的eclipse版本是:Version: Mars.2 Release (4.5.2)

2018-05-11

空空如也

空空如也

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

TA关注的人 TA的粉丝

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