- 博客(18)
- 资源 (3)
- 收藏
- 关注
原创 微服务的链路追踪
目前业界比较流行的链路追踪系统如:Twitter的Zipkin,阿里的鹰眼,美团的Mtrace,大众点评的cat等,大部分都是基于google发表的Dapper。Dapper阐述了分布式系统,特别是微服务架构中链路追踪的概念、数据表示、埋点、传递、收集、存储与展示等技术细节。 1. Sleuth 1.1 概述 Spring Cloud Sleuth 为Spring Cloud提供了分布式根据的解决方案。Spring Cloud Sleuth采用的是Google的开源项目Dapper的专业术语。 .
2021-09-29 10:57:50
606
原创 网关高可用
单点是系统高可用的大敌,单点往往是系统高可用最大的风险和敌人,应该尽量在系统设计的过程中避免单点。方法论上,高可用保证的原则是“集群化”,或者 叫“冗余”:只有一个单点,挂了服务会受影响;如果有冗余备份,挂了还有其他backup能够顶上。 (1) 准备多个GateWay工程 server: port: 8080 #服务端口 ------------------------------------------- server: port: 8081 #服务端口 ------------..
2021-09-28 12:24:44
460
原创 SpringCloud之GateWay网关
Spring Cloud Gateway 作为 Spring Cloud 生态系中的网关,目标是替代 Netflix ZUUL,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。它是基 于Nttey的响应式开发模式 组件 RPS(request per second) Spring Cloud Gateway Requests/sec: 32213.38 Zuul 1.X Requests/sec: 20800..
2021-09-28 11:34:42
700
原创 SpringCloud之Zuul网关
不同的微服务一般会有不同的网络地址,客户端在访问这些微服务时必须记住几十甚至几百个地址,这对于客户端方来说太复杂也难以维护 如果让客户端直接与各个微服务通讯,可能会有很多问题: 客户端会请求多个不同的服务,需要维护不同的请求地址,增加开发难度 在某些场景下存在跨域请求的问题 加大身份认证的难度,每个微服务需要独立认证 因此,我们需要一个微服务网关,介于客户端与服务器之间的中间层,所有的外部请求都会先经过微服务网关。客户端只需要与网关交互,只知道一个网关地址即可,优点: 易于监控 易于认..
2021-09-27 17:42:32
309
原创 Sentinel入门
1.Sentinel简介 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Sentinel 具有以下特征: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即 突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。 完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入.
2021-09-26 09:21:43
132
原创 服务熔断Hystrix高级
1.Hystrix的监控平台 Hystrix还提供了近乎实时的监控,HystrixCommand和 HystrixObservableCommand在执行时,会生成执行结果和运行指标。比如每秒的请求数量,成功数量等。这些状态会暴露在Actuator提供的/health端点中。只需为项目添加 spring-boot-actuator 依赖,重启项目,访问http://localhost:9001/actuator/hystrix.stream ,即可看到实时的监控数据。 注: 访问该链接:http:..
2021-09-23 17:52:02
139
原创 服务熔断Hystrix入门
1.微服务架构的高并发问题 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务累计,导致服务瘫痪。 在SpringBoot程序中,默认使用内置tomcat作为web服务器。单tomcat支持最大的并发请求是有限的,如果某一接口阻塞,待执行的任务积压越来越多,那么势必会影响其他接口的调用。 1.1 线程池的形式实现服务隔离 ..
2021-09-23 14:48:53
236
原创 Spring Cloud之服务注册和负载均衡
1.服务注册Eureka基础 1.1微服务的注册中心 注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中, 服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。 1.2注册中心的主要作用 注册中心一般包含如下几个功能: 1. 服务发现: (1)、服务注册/反注册:保存服务提供者和服务调用者的信息 。(2)、服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最...
2021-09-18 17:04:39
504
原创 系统架构演变
1. 单体应用架构 Web应用程序发展的早期,大部分web工程(包含前端页面,web层代码,service层代码,dao层代码)是将所有的功能模块,打包到一起并放在一个web容器中运行。 优点: 所有的功能集成在一个项目工程中,项目架构简单,前期开发成本低,周期短,小型项目的首选。 缺点: 全部功能集成在一个工程中,对于大型项目不易开发、扩展及维护。 系统性能扩展只能通过扩展集群结点,成本高、有瓶颈。 技术栈受限。 2. 垂直应用架构 当访问量...
2021-09-18 10:58:26
112
原创 如何增强一个类中的方法
1. 继承的方式: class Man{ public void run(){ System.out.println(“跑…”); } } class SuperMan extends Man{ public void run(){ System.out.println(“飞…”); } } 注:继承这种增强是最简单,但是是有使用条件的:必须能够控制这个类的构造 2. 装饰者模式: 一般情况下:针对接口而言,如果接口的方法太多,不想重写实现其中的所有方法(或者从外.
2021-05-24 12:27:28
255
原创 Ajax搜索框动态显示案例
1.需求 在输入框输入关键字,下拉框中异步显示与该关键字相关的名称 效果为: 2.代码实现 1.导入数据库脚本 2.jsp代码 <%@ page contentType="text/html;charset=UTF-8" language="java"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <sc..
2021-05-17 20:49:29
403
原创 Ajax跨域问题
1.跨域介绍 跨域它是不同的域名(服务器)之间的相互的资源的访问,因为受到浏览器的同源策略保护不能正常访问。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 Ajax跨域问题 1.问题:如果使用项目2中的页面访问项目1的资
2021-05-17 20:29:33
113
原创 数据库中的索引
索引概述 索引(index)是帮助MySQL高效获取数据的数据结构。 这些数据结构以某种方式引用数据,这样就可以在这些数据结构上实现高级查找算法。 左边是数据表,一共有两列七条记录,最左边的是物理地址Col1,右边的是数据Col2,为了加快Col2的查找,可以维护一个右边所示的二叉查找树,每个节点分别包含索引键值和一个指向物理地址的指针,这样就可以运用二叉查找快速获取到相应数据。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。索引是数据库中用来提.
2021-05-15 13:57:19
488
原创 Linux 系统安装MySQL
下载Linux 安装包 https://dev.mysql.com/downloads/mysql/5.7.html#downloads 安装MySQL 1). 卸载 centos 中预安装的 mysql rpm -qa | grep -i mysql rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps 2). 上传 mysql 的安装包 alt + p -------> put...
2021-05-15 12:59:33
98
原创 腾讯云服务器的项目部署
Tomcat命令 动态WEB资源目录结构 website(根目录) /------静态页面(HTML、CSS、JS、图片) /------JSP页面 /------WEB-INF /-----web.xml (必须的) /-----classes (可选的) ...
2021-05-15 02:02:12
647
原创 web文件下载的问题
什么是文件下载 将服务器上的一个文件,通过流写入到客户端上,既客户下载文件 为什么学习文件下载 很多应用包含有文件下载的功能:音乐的下载、应用的下载等。 文件下载的方式 1.使用超链接的方式实现文件的下载 <a href=”文件的路径”>超链接</a> 注意:超链接的方式,如果浏览器不能识别这种格式的文件,提示下载,如果支持该格式的文件,直接打开(如:文件)。 2.通过手动编写代码的方式实现文件的下载 主要任务是:设置两个头和一个流 Con
2021-05-14 23:08:15
195
原创 web浏览器文件上传的问题
web浏览器文件上传的问题: 文件上传的技术 1. JSPSmartUpload(应用在JSP上的文件上传和下载的组件)2.FileUpload(应用在Java环境上的文件上传的功能)3. Struts2(提供文件上传的功能) 什么是文件上传 将本地的文件通过流写入到服务器的过程 文件上传的要素 表单的提交的方式需要是POST 表单中需要有<input type=”file”>元素,需要有name属性和值。 表单form的属性enctype=”multipart/f..
2021-05-14 22:34:42
279
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人