13 御前两把刀刀

尚未进行身份认证

我要认证

一个善于总结的,一个喜欢书法的全栈程序员

等级
TA的排名 9k+

SpringCloud系列十:使用zipkin进行服务链路追踪

一. 为什么要进行链路追踪?微服务架构是一种分布式架构,微服务系统按照业务划分服务单元,一个微服务往往会有很多个服务单元,一个请求往往会有很多个单元参与,一旦请求出现异常,想要去定位问题点真心不容易,因此需要有个东西去跟踪请求链路,记录一个请求都调用了哪些服务单元,调用顺序是怎么样的以及在各个服务单元处理的时间长短。常见的服务链路追踪组件有google的dapper、twitter的zipkin、阿里的鹰眼等,它们都是出众的开源链路追踪组件。二.Zipkin介绍spring cloud 有自己的

2020-09-24 21:34:10

SpringCloud系列九:SpringCloud Config配置中心

一. 为什么需要配置中心?配置文件是我们再熟悉不过的了,尤其是 Spring Boot 项目,除了引入相应的 maven 包之外,剩下的工作就是完善配置文件了,例如 mysql、redis 、security 相关的配置。除了项目运行的基础配置之外,还有一些配置是与我们业务有关系的,比如说业务存储、短信相关、邮件相关,或者一些业务上的开关。对于一些简单的项目来说,我们一般都是直接把相关配置放在单独的配置文件中,以 properties 或者 yml 的格式出现,更省事儿的方式是直接放到 app.

2020-09-23 17:41:32

SpringCloud系列八:Zuul网关服务

一. 为什么需要网关呢?第一,我们知道我们要进入一个服务本身,很明显我们没有特别好的办法,直接输入IP地址+端口号,我们知道这样的做法很糟糕的,这样的做法大有问题,首先暴露了我们实体机器的IP地址,别人一看你的IP地址就知道服务部署在哪里,让别人很方便的进行攻击操作。第二,我们这么多服务,我们是不是要挨个调用它呀,我们这里假设做了个权限认证,我们每一个客户访问的都是跑在不同机器上的不同的JVM上的服务程序,我们每一个服务都需要一个服务认证,这样做烦不烦呀,明显是很烦的。那么我们这时候..

2020-09-20 23:01:47

SpringCloud系列七:配置Eureka及时剔除失效服务

一 SpringCloud Eureka自我保护机制 Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 会将这些实例保护起来,让这些实例不会过期,但是在保护期内如果服务刚好这个服务提供者非正常下线了,此时服务消费者就会拿到一个无效的服务实例,此时会调用失败,对于这个问题需要服务消费者端要有一些容错机制,如重试,断路器等。 我们在单机测试的时候很容易满足心跳失败比例在 15 分钟之内...

2020-09-18 16:03:01

SpringCloud系列六:使用Feign 实现声明式服务调用及参数传递

一.Spring Cloud Feign概念引入通过前面的介绍,我们了解如何通过Spring Cloud ribbon进行负责均衡,如何通过Spring Cloud Hystrix进行服务断路保护,两者作为基础工具类框架应用在各种基础设施类微服务和业务类微服务中,并且成对存在,那么有没有更高层的封装,将两者的使用进一步简化呢? 有! 他就是Spring Cloud Feign。它基于Netflix Feign实现,整合了Spring Cloud Ribbon和Spring Cloud Hystrix,除

2020-09-15 13:55:47

SpringCloud系列五:Hystrix断路器

在微服务中,我们将系统拆分为很多个服务单元,各单元之间通过服务注册和订阅消费的方式进行相互依赖。但是如果有一些服务出现问题了会怎么样?比如说有三个服务(ABC),A调用B,B调用C。由于网络延迟或C本身代码有问题导致B迟迟得不到回应,这样B调用C的请求就会被挂起,等待。在高并发的访问的情况下,这些挂起的线程得不到释放,使后续的请求阻塞,最终导致B也挂掉了。依次类推,A可能也会挂掉,进而使整个系统全部崩溃。为了解决整个问题,Spring Cloud 使用Hystrix进行服务容错保护,包括断路器、

2020-09-13 23:43:14

SpringCloud系列四:搭建Eureka高可用服务注册中心

在实际的应用中,分布式系统为了防止单体服务宕机带来严重后果,一般都会采用服务器集群的形式,服务注册中心也是一样,需要多台服务一起工作,组成高可用的服务注册中心。这样,如果有其中一台宕机,系统也能正常运行。那么如何来构建高可用的服务注册中心呢?由于eureka注册中心既可以作为服务端(服务注册中心),也可以作为客户端(到别的注册中心注册自己),我们可以通过在机器上部署两个注册中心,两个注册中心又相互注册。首先,我们来准备两个linux环境,用于部署2个注册中心,在/etc/hosts文件里面加入如

2020-09-13 21:37:53

SpringCloud系列三:Springcloud负载均衡及restTemplate参数传递

一 负载均衡大家有没有发现在上一篇中,我们已经把springcloud负载均衡的配置加入到了项目中,如下图:并且restTemplate()方法上也加了实现负载均衡的注解@LoadBalanced,如图:那么我们怎么来演示负载均衡呢?我们在cloud_cart_service1项目的基础上,重新建一个cloud_cart_service2项目,提供的服务名称一致,端口号变了,如图:为了方便观察效果,我在details方法上加上一句话表明结果来自哪个服务,如图所示:

2020-09-13 21:35:29

hibernate系列十一:一对一关联配置及案例

人和身份证是典型的一对一关系============sql脚本====================--身份证表CREATE TABLE Card( cardId CHAR(18) PRIMARY KEY, cardName VARCHAR(50) NOT NULL DEFAULT '中华人民共和国居民身份证', signOffice VARCHAR(50) NOT NU

2017-11-30 20:41:26

SpringCloud系列二:Springcloud 服务提供者和服务消费者

一.服务提供者完整的目录结果如下:1. 搭建maven工程(略)2. 修改pom文件,引入依赖,注意看关键依赖上的注释<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 http://maven.apache.org

2020-09-13 01:46:11

SpringCloud系列一:Springcloud介绍及注册中心搭建

一 什么是springcloud 官网的说法:微服务架构集大成者,云计算最佳业务实践。 百度百科的说法:Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring ...

2020-09-13 01:39:20

在centos7上搭建ftp服务

一 安装首先检查是否已经安装ftp服务#rpm -qa|grep vsftpd如果没有就安装#yum install vsftpd设置开机自动启动#systemctl enable vsftpd.service查看是否已经开机启动#systemctl is-enabled vsftpd.service如果显示为enabled则表示已经设置为开机启动相关指令如下:systemctl start vsftpd.servicesystemctl stop vsftp

2020-07-01 11:48:08

mysql常用函数汇总

MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时查看。一. 数学函数(1)ABS(x)返回x的绝对值(2)PI()返回圆周率π,默认显示6位小数(3)SQRT(x)返回非负数的x的二次方根(4)MOD(x,y)返回x被y除后的余数(5)CEIL(x)、CEILING(x)返回不小于x的最小整数(6)...

2020-06-01 11:05:30

centos7下安装tomcat8并设为开机启动

一 版本环境centos ===> CentOS Linux release 7.4.1708 64位tomcat===>apache-tomcat-8.5.38.tar.gz二.安装tomcat1.安装 tar命令解压缩包即可# tar zxvf apache-tomcat-8.5.38.tar.gz移动到/usr目录#mv apach...

2019-03-13 08:58:33

centos7上安装mysql5.7(rpm软件包方式)

环境及版本centos ===> CentOS Linux release 7.4.1708 64位mysql ===> 5.7.23 64位 (mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar)1. 建立soft目录,然后把软件包上传上来2. 解压缩# tar –xvf mysql-5.7.23-1.el7.x86_6...

2019-03-12 17:00:28

mybatis系列十二:动态sql的注解配置

 动态sql也可以采用注解来完成注解对应的sql类型如下所示一  先重点来关注查询,用注解进行动态sql查询有两种方式用script标签包围,然后像xml语法一样书写 @Select({ "<script>", "select * From student where 1=1", "<when test='gender!=null'>...

2019-01-15 22:19:10

uml类图(二):用StarUML构造披萨饼

综述:StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具。StarUML(简称SU)可以创建UML类图,并能够自动生成Java的“stub code”。SU也可以做JAVA逆向工程,以产生相应的UML图表。在本教程中,我们将使用SU设计一个pizza饼。执行下列步骤,可以创建如下面所示的UML图。SU可以生成反映类结构的代码,而不是任何对象的具体行动。因此,在使用SU...

2019-01-13 21:40:40

uml类图(一):知识介绍

类图描述了我们软件系统中类与类的关系。既然描述是类与类的关系,我们就先来看下一个类是如何表示的一  UML类图的表示:在uml类图中,类一般由三个部分组成:1. 类名:每个类都必须有一个名字,类名是一个字符串2.属性(Attributes):属性是类的性质,即类的成员变量.类可以有任意多个属性,也可以没有属性.表示方式如下图          可见性有public(+),pr...

2019-01-13 21:29:33

spring boot最新教程(三_2):整合mybatis方式二

前面我们提到了使用mybatis官方提供的Spring Boot整合包可以实现mybatis的整合,              地址:https://github.com/mybatis/spring-boot-starter对pom依赖配置如下<!-- 整合mybatis需要 mybatis相关的jar会自动下载 --> <dependency> ...

2019-01-06 15:45:15

oracle11g完全卸载

环境 window10   oracle11g 32位第一步:  停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止  如下图第二步  在开始菜单中,找到Universal Installer,运行Oracle Universal Installer,单击卸载产品 第三步  在产品清单窗口中,单击全部展开,除了OraDb11...

2018-11-29 20:48:05

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。