自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (8)
  • 收藏
  • 关注

原创 网关 zuul 线程阻塞分析

网关 zuul 线程阻塞分析本文基于一个线上真实问题。在 Zuul 无任何安全防护措施时,若遇到较大流量(单个Zuul应用在默认配置下200并发即可),将产生非常严重的后果。本文主要是探寻下问题产生的原因,问题背景与处理先简述下问题背景网络拓扑:请求 -> nginx -> 容器编排工具的LB(Haproxy) -> 网关(Zuul) -> 具体服务现象...

2019-12-19 16:16:32 4315 2

原创 网关 zuul自定义SimpleHostRoutingFilter

网关 zuul自定义SimpleHostRoutingFilterzuul的SimpleHostRoutingFilter主要用来转发,是使用httpclient来转发请求的,但是有时候我们需要改动相关httpclient的配置,这个时候,就需要修改SimpleHostRoutingFilter了,这里讲一下如何扩展SimpleHostRoutingFilter。自定义SimpleHost...

2019-12-19 16:04:38 2063

原创 Spring Cloud Sleuth + zipkin 实现服务追踪

服务追踪Spring Cloud Sleuth实现了一种分布式的服务链路跟踪解决方案,通过使用Sleuth可以让我们快速定位某个服务的问题。官方文档地址如下:http://cloud.spring.io/spring-cloud-static/spring-cloud-sleuth/2.0.1.RELEASE/single/spring-cloud-sleuth.html基本...

2019-04-30 17:29:10 310

转载 Spring cloud Feign正确的使用方法和性能优化注意事项

Feign正确的使用方法和性能优化注意事项1. feign自定义Configuration和root 容器有效隔离。用@Configuration注解 不能在主@ComponentScan (or @SpringBootApplication)范围内,从其包名上分离 注意避免包扫描重叠,最好的方法是明确的指定包名2. Spring Cloud Netflix 提供了默认的Bean类型...

2018-07-25 15:37:15 5112

转载 Java 高并发解决方案(电商的秒杀和抢购)

电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整...

2018-07-25 14:08:08 55051 12

原创 源码调试 ElasticSearch 2.x

前言阅读Elasticsearch源码的第一步是搭建调试环境,在这个过程中遇到了问题所以记录下。1. 环境介绍windows10 Java 1.8 Maven 3.3.9 Intellij IDEA2. 步骤下载源码https://github.com/elastic/elasticsearch/tree/2.4 导入到IDEA,setting maven 在id...

2019-11-01 16:36:55 189

原创 分布式 ID 生成器

分布式 ID 生成器一个唯一 ID 在一个分布式系统中是非常重要的一个业务属性,其中包括一些如订单 ID,消息 ID ,会话 ID,他们都有一些共有的特性:全局唯一。 趋势递增。全局唯一很好理解,目的就是唯一标识某个次请求,某个业务。通常有以下几种方案:基于数据库可以利用MySQL中的自增属性auto_increment来生成全局唯一 ID,也能保证趋势递增。 但这...

2019-04-30 17:43:58 158

原创 分布式锁

数据库锁:优点:直接使用数据库,使用简单。缺点:分布式系统大多数瓶颈都在数据库,使用数据库锁会增加数据库负担。缓存锁:优点:性能高,实现起来较为方便,在允许偶发的锁失效情况,不影响系统正常使用,建议采用缓存锁。缺点:通过锁超时机制不是十分可靠,当线程获得锁后,处理时间过长导致锁超时,就失效了锁的作用。zookeeper锁:优点:不依靠超时时间释放锁;可靠性高;系统要求高...

2019-04-30 17:36:58 130

原创 Java mongodb 多主键(group)mapReduce

业务需求:统计商户下,专题,用户统计下单数量话不多说,直接上代码@Autowiredprivate MongoTemplate mongoTemplate;// 使用的是spring 的mongodb @Testpublic void test(){ //Query query = Query.query(new Criteria()); String map = "...

2018-07-31 15:17:26 1304

原创 数据库分库分表

分库分表 一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)切分另外一种则是根据表中的数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库(主机)上面,这种切分称之为数据的水平(横向)切分。 垂直切分的优点: 1) 拆分后业务清晰,拆分规则明确。 2) 系统之间整合或扩展容易。 3) 数据维护简单。...

2018-07-26 10:44:59 213

原创 ElasticSearch性能优化

ElasticSearch性能优化1) 防止脑裂discovery.zen.minimum_master_modes: 50% 节点最小数2) 设置memory_lock来锁定进程的物理内存地址 bootstrap.memory_lock: true 允许 JVM 锁住内存,禁止操作系统交换出去3) 设置分片数如果分片数过少或过多,都会导致检索比较慢。  分片数过多会导...

2018-07-25 19:59:31 358

原创 Redis持久化的几种方式

 1.RDB    RDB持久化:(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化)RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。 2.AOF    AOF持久化:(append only file)持久化(原理是将Reids...

2018-07-25 19:58:22 152

转载 Spring cloud Hystrix 参数详解

hystrix.command.default和hystrix.threadpool.default中的default为默认CommandKeyCommand PropertiesExecution相关的属性的配置: hystrix.command.default.execution.isolation.strategy 隔离策略,默认是Thread, 可选Thread|Semaph...

2018-07-25 15:22:14 202 1

转载 Spring cloud Zuul 参数调优

zuul 参数调优适用版本:spring-boot: 1.4.x.RELEASEspring-cloud:Camden.SR3Hystrix: 1.5.6spring-boot-tomcat 优化参数:主要只有2个,最大和最小worker线程: server.tomcat.max-threads=128 # Maximum amount of worker thread...

2018-07-25 15:20:04 10238

转载 Hystrix semaphore和thread隔离策略的区别及配置参考

Hystrix semaphore和thread隔离策略的区别及配置参考通用设置说明Hystrix所有的配置都是hystrix.command.[HystrixCommandKey]开头,其中[HystrixCommandKey]是可变的,默认是default,即hystrix.command.default;另外Hystrix内置了默认参数,如果没有配置Hystrix属性,默认参数就会被...

2018-07-25 15:17:48 9711 2

原创 JDBC如何开启事务

先看看一个标准的JDBC例子伪代码:   Connection conn = DriverManager.getConnection(...);try{  con.setAutoCommit(false);  Statement stmt = con.createStatement();  //1 or more queries or updates  ...

2018-07-25 15:14:54 20707 1

转载 分布式限流的解决方案

 业务背景介绍 对于web应用的限流,光看标题,似乎过于抽象,难以理解,那我们还是以具体的某一个应用场景来引入这个话题吧。 在日常生活中,我们肯定收到过不少不少这样的短信,“双11约吗?,千款….”,“您有幸获得唱读卡,赶快戳链接…”。这种类型的短信是属于推广性质的短信。为什么我要说这个呢?听我慢慢道来。 一般而言,对于推广营销类短信,它们针对某一群体(譬如注册会员)进行定点推送,有时这...

2018-07-25 14:31:56 12994 1

logging.yml

elasticsearch logging.yml 配置文件 日志输出

2019-11-01

elasticsearch.yml 配置文件

elasticsearch.yml 配置文件 ,大自然的搬运工

2019-11-01

谭浩强_C++程序设计

谭浩强_C++程序设计 API +课程源代码 (从入门开始学起)

2012-03-23

List 对象属性排序

对List集合中 对象属性排序,不需要在每个实体类中重写Sort方法,实现了代码的重用。非常好用的Util类

2012-03-23

iserver java 2008 等值线 详细配置

基于gis系统,开发等值线等值面等,非常使用,自己今天才搞出来的,许多要注意的地方,官网都没有,要注意看哦!!!

2011-07-27

ExtJS实用开发指南

ExtJS实用开发指南 (从页面的布局开始教起,每个都有Demo)

2011-05-09

Ext2.2API中文文档

Ext2.2API中文文档+Ext2.2API中文文档+Ext2.2API中文文档

2011-05-09

Linux C 程序设计

在Linux系统下c编程API 和 实例

2010-12-05

空空如也

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

TA关注的人

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