自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Cloud灰度发布之Nepxion Discovery

最近公司项目在做架构升级,升级为 Spring Cloud,我们希望能够做到服务的灰度发布,根据访问量逐渐切换用新版本替换老版本,并且能够做到代码零入侵的,毕竟每次发布要修改代码真的不是什么好的体验,而且容易引出其它的非代码级别的错误导致无法发布成功。但是 Spring Cloud 在这一方面好像没有提供什么方案。因此我们在网上大范围的查找,终于找到了一款服务我们需求的灰度发布工具Nepxion ...

2018-09-27 14:48:35 1775 1

原创 Spring Cloud(前言)准备工作

一、什么是 Spring Cloud相信各位能够看到本文的都对Spring Cloud 有了基础的理解,在这里就不再赘述了(ps:因为本人不爱看那种长篇的介绍),如果还不太了解的话,推荐各位跳转:[简述 Spring Cloud 是什么](https://blog.csdn.net/kkkloveyou/article/details/79210420)[Spring Cloud都做了些...

2018-09-26 08:58:50 424

转载 Spring Cloud(番外)各组件超时总结

Ribbon的超时全局设置:ribbon: ReadTimeout: 60000 ConnectTimeout: 60000局部设置:service-id: ribbon: ReadTimeout:1000 ConnectTimeout:1000其中, service-id 是Ribbon所使用的虚拟主机名,一般和Eureka S...

2018-09-25 17:45:16 194

原创 Spring Cloud(十)Sleuth+ZipKin 实现服务追踪(续)

注:本文Spring Cloud 版本 Finchley.SR1本节是对上一篇的延续,没有查看上一篇的请先查看 Spring Cloud(九)Sleuth+ZipKin 实现服务追踪相信细心的网友也发现了,以上的配置方式使用的是 http 发送链路数据,并且保存在缓存中,所以也只能当个 demo,自己玩玩,不适合应用在生产环境中。所以我们的测试环境、生产环境项目需要在之前的基础上升级。通过上一...

2018-09-25 17:43:44 384

原创 Spring Cloud(九)Sleuth+ZipKin 实现服务追踪

注:本文Spring Cloud 版本 Finchley.SR1为什么需要服务追踪微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务...

2018-09-25 17:41:47 212

原创 Spring Cloud(八)熔断监控Hystrix Dashboard和Turbine

前一节,我们已经成功的配置了熔断器,但是在实际应用中,单纯的熔断不能满足我们的需求,我们不止需要保证一个业务宕机不影响其他服务,同时也需要有监控能够知道服务情况,从而即时发现、解决问题,这一节我们就通过 Hystrix Dashboard和Turbine 完成这个功能。Hystrix Dashboard 和 TurbineHystrix-dashboard是一款针对Hystrix进行实时监控的...

2018-09-25 17:40:02 423

原创 Spring Cloud(七)服务监控Hystrix

熔断器雪崩效应在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将不可用逐渐放大的过程。如果下图所示:A作为服务提供者,B为A的服务消费者,C和D是B的服务消费者。A不可用引起了B的不可用,并将不可用像滚雪球一样放大到C和D时,雪崩效应就形成...

2018-09-25 17:36:34 559

原创 Spring Cloud(六)服务网关zuul

为什么要使用微服务网关不同的微服务网关一般都会有不同的网络地址,而外部客户端(例如手机APP)可能需要调用多个服务的接口才能完成一个业务需求。例如一个常见的电商平台APP,可能会调用多个微服务的接口,才能完成一次购物的业务流程,如下图:如果让客户端直接与各个微服务通信,会有以下问题:​ 1 客户端多次请求不同的微服务,增加了客户端的复杂性。​ 2 存在跨域请求,在一定的场景下处理相对复杂...

2018-09-25 17:29:08 182

原创 Spring Cloud(五)消息总线BUS

本章依赖于 Spring Cloud(四) 配置中心Config ,请没有构建好配置中心的出门左拐前面一节,我们已经成功的构建了配置中心,如果需要客户端获取到最新的配置信息需要执行refresh,我们可以利用 Webhook 的机制每次提交代码发送请求来刷新客户端,当客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了。使用 Spring Cloud Bus 可以完美解决这一问题...

2018-09-25 17:21:09 371

原创 Spring Cloud(四)配置中心Config

在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库以及数据库中。在spring cloud config 组件中,分两个角色,一是config server,二是config clien...

2018-09-25 17:18:22 407

原创 Spring Cloud(三)服务间调用Feign

在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestTemplate。但是,用起来最方便、最优雅的还是要属Feign了。FeiegnFeign是一个声...

2018-09-25 17:14:09 313

原创 Spring Cloud(二)客户端负载均衡Ribbon

RibbonRibbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon,后续会介绍Feign的使用。Ribbon可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用。当Ribbon与Eureka联合使用时,ribbonServerList会被DiscoveryEnabledNIWSServerList重写,扩展成从Eu...

2018-09-25 17:12:26 169

原创 Spring Cloud(一)服务注册与发现

Spring Cloud构建微服务架构(一)服务注册与发现服务注册与发现在简单介绍了Spring Cloud和微服务架构之后,下面回归本文的主旨内容,如何使用Spring Cloud搭建服务注册与发现模块。这里我们会用到Spring Cloud Netflix,该项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供...

2018-09-25 17:05:07 256

原创 Google Map 开发笔记——基础篇(Javascript )

Google Map 开发笔记——基础篇说明:一、使用入门:1、在您需要显示地图的 html 页面嵌入这段 script2、地图 DOM 元素3、初始化地图二、地图画点、线、面1、标记(点)2、线3、面三、辅助功能1、信息窗口(InfoWindow )2、动态控制 Zoom3、获取鼠标坐标点三、绘图四、函数博主是一个小公司的Java开发,无奈前一阵公司项目需要,赶鸭子上架在 web 端做了一下G...

2018-09-18 10:31:52 2743

原创 Spring Boot Starter POMs 介绍

Spring Boot Starter POMs 介绍Starter POMs是可以包含到应用中的一个方便的依赖关系描述符集合。可以获取所有Spring及相关的一站式服务,而不需要大量的依赖描述符。所有的starters遵循一个相似的命名模式:spring-boot-starter-,在这里是一种特殊类型的应用程序。这句为官方翻译。 Spring Boot官方为了我们提供了很多的Starte...

2018-09-18 10:27:12 217

原创 Java 分库分表——Mango 初体验

Java 分库分表——Mango 初体验Java 分库分表——Mango 初体验一、Mango 简介二、SpringBoot 集成 Mango2.1 获取 Mango2.2 配置 xml2.3 分库、分表规则配置2.4 Dao 层配置2.5 测试三、总结Java 分库分表——Mango 初体验众所周知,随着系统的使用,数据库数据量不断上升,当单表数据量达到1000W以后,很多数据库操作都会...

2018-09-18 10:24:18 2604

原创 MySQL 的性能-SQL 执行分析(执行时间分析)

SQL 执行分析(执行时间分析)一、SQL 执行时间分析1.通过 show processlist 来查看系统的执行情况2.通过 profiling 来进行查看2.1 查看 profiling 是否开启2.2 打开工具2.3 查看 SQL 的执行时间2.4 查看 SQL 执行耗时详细信息3.慢查询日志3.1 查看慢日志是否开启3.2 设置超时时间3.3 其他参数3.3.1 log_output3....

2018-09-18 10:11:55 14168 1

原创 MySQL 的性能-SQL 执行分析(执行情况分析)

SQL 执行分析(执行情况分析)SQL 执行情况分析一、创建表时的性能优化1. 永远为每张表设置一个 ID2. 为搜索字段建索引3. 使用 ENUM 而不是 VARCHAR4. 尽可能的使用 NOT NULL5. 把IP地址存成 UNSIGNED INT二、设计表时的性能优化1. 选择正确的存储引擎2. 固定长度的表会更快3. 垂直分割三、优化 SQL 语句1. 使用查询缓存1.1 查看是否开启缓...

2018-09-18 10:10:40 1657

原创 MySQL 索引

MySQL 索引一、索引原理1.使用索引为什么会快2. 索引的代价二、索引类型三、关于增加索引中的原则四、哪些列上适合添加索引五、索引常用操作六、如何让索引生效1. 下列几种情况下有可能使用到索引:2. 下列的表将不使用索引:一、索引原理1.使用索引为什么会快btree类型的索引,就是使用的二分查找法,肯定快啊,算法复杂度是 log2N,也就是说16条数据查4次,32条数据查5次,64条数据...

2018-09-18 10:09:03 107

空空如也

空空如也

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

TA关注的人

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