自定义博客皮肤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)
  • 收藏
  • 关注

转载 SpringCloud2.0 Eureka集群 高可用的认证服务实现与搭建

       SpringCloud-2.0.2.RELEASE Eureka认证后,服务注册失败问题。        随着近几年微服务架构和Docker容器概念的火爆,也会让Spring Cloud在未来越来越“云”化的软件开发风格中立有一席之地,尤其是在目前五花八门的分布式解决方案中提供了标准化的、全站式的技术方案,意义可能会堪比当年Servlet规范的诞生,有效推进服务端软件系统技术水平的进...

2018-05-29 11:18:36 6155 2

转载 Spring BeanUtils源码分析

背景在我们着手一个Java Web项目的时候,经常会遇到DO、VO、DTO对象之间的属性拷贝,若采用get、set的方法来进行赋值的话,代码会相当冗长丑陋,一般我们会采用Spring的BeanUtils类来进行属性拷贝,其基本原理就是通过Java的反射机制,下面我们来看一下源码的具体实现。前置知识在分析源码前,我们先温习一下以下的知识点。java.lang.Class类在Java中万物皆对象,而且...

2018-05-26 15:45:13 1943

转载 从构建分布式秒杀系统聊聊Disruptor高性能队列

前言秒杀架构持续优化中,基于自身认知不足之处在所难免,也请大家指正,共同进步。文章标题来自码友<tukangzheng>的建议,希望可以把阻塞队列ArrayBlockingQueue这个队列替换成Disruptor,由于之前曾接触过这个东西,听说很不错,正好借此机会整合进来。简介LMAX Disruptor是一个高性能的线程间消息库。它源于LMAX对并发性,性能和非阻塞算法的研究,如今...

2018-05-25 17:47:12 839

原创 Elasticsearch结构化搜索_在案例中实战使用terms搜索多个值以及多值搜索结果优化

课程大纲term: {"field": "value"}terms: {"field": ["value1", "value2"]}sql中的inselect * from tbl where col in ("value1", "value2")1、为帖子数据增加tag字段POST /forum/article/_bulk{ "update":

2018-05-23 15:46:17 1139

转载 分布式之数据库和缓存双写一致性方案解析

一.为什么写这边文章首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下午的流程来进行业务操作:但是,在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存?又或者是先删除缓存,再更新数据库?其实这一块是存在很大的争议。二、文章结构讲解缓存更新策略;对每种策略进行缺点分析;针对缺点给出改进方案;三、正文先做一个说明,从理论上来说,给缓存设置过...

2018-05-22 18:14:09 683

原创 Elasticsearch结构化搜索_在案例中实战基于bool组合多个filter条件来搜索数据

1、搜索发帖日期为2017-01-01,或者帖子ID为XHDK-A-1293-#fJ3的帖子,同时要求帖子的发帖日期绝对不为2017-01-02select *from forum.articlewhere (post_date='2017-01-01' or article_id='XHDK-A-1293-#fJ3')and post_date!='2017-01-02'GET /fo...

2018-05-21 11:03:55 3551

原创 Elasticsearch结构化搜索_filter执行原理深度剖析(bitset机制与caching机制)

1)在倒排索引中查找搜索串,获取document listdate来举例word doc1 doc2 doc32017-01-01 * *2017-02-02 * *2017-03-03 * * *filter:2017-02-02到倒排索引中一找,发现2017-02-02对应的document list是doc2,doc3(2)为每个在倒排索引中搜索到的结果,构建一...

2018-05-17 11:18:10 245

原创 Elasticsearch结构化搜索_在案例中实战使用term filter来搜索数据

1、根据用户ID、是否隐藏、帖子ID、发帖日期来搜索帖子(1)插入一些测试帖子数据POST /forum/article/_bulk{ "index": { "_id": 1 }}{ "articleID" : "XHDK-A-1293-#fJ3", "userID" : 1, "hidden": false, "postDate": "2017-01-0

2018-05-16 10:36:05 176

原创 spring boot 源码解析2-SpringApplication初始化

前⾔我们⽣成⼀个spring boot 项⽬时,会⾃带⼀个启动类. 代码如下:@SpringBootApplicationpublic class SpringBootAnalysisApplication { public static void main(String[] args) { SpringApplication.run(SpringBootAnalysisApplicatio...

2018-05-15 16:36:37 207

转载 大型分布式电商系统架构是如何从0开始演进的?【转】

本文是学习大型分布式网站架构的技术总结。对架构一个高性能、高可用、可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考。文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值。一、大型分布式网站架构技术1、大型网站的特点用户多,分布广泛大流量,高并发海量数据,服务高可用安全环境恶劣,易受网络攻击功能多,变更快,频繁发布从小到大,渐进发展以用户为中心免费服务,付费...

2018-05-10 15:48:10 339

原创 为什么要用分布式集群任务调度?

作为一个开发者,避免不了定时任务的问题,最粗暴和简单直接的解决方案就是crontab。当然在机器少,任务不多,定时任务之间关联少的情况下,crontab效率还是比较高和便捷的。但当机器越多、定时任务越多,各个任务联系越紧密的情况下,用crontab进行定时任务的管理配置,就会非常混乱,严重影响工作效率。机器多、定时任务多的情况下,就会遇到以下问题:1、每个服务器各个用户下的crontab任务管理混...

2018-05-04 12:18:38 4316

转载 阿里架构师带你深入浅出jvm

本文跟大家聊聊JVM的内部结构,从组件中的多线程处理,JVM系统线程,局部变量数组等方面进行解析JVMJVM = 类加载器(classloader) + 执行引擎(execution engine) + 运行时数据区域(runtime data area)下面这幅图展示了一个典型的JVM(符合JVM Specification Java SE 7 Edition)所具备的关键内部组件。组件中的多线...

2018-04-27 12:04:29 223

转载 数据权限管理中心 - 基于mybatis拦截器实现

数据权限管理中心由于公司大部分项目都是使用mybatis,也是使用mybatis的拦截器进行分页处理,所以技术上也直接选择从拦截器入手需求场景第一种场景:行级数据处理原sql:select id,username,region from sys_user ;需要封装成:select * from ( select id,username,region from sys_user ) wh...

2018-04-26 15:18:18 6119 1

转载 Docker容器可视化监控中心搭建

摘要: 一个宿主机上可以运行多个容器化应用,容器化应用运行于宿主机上,我们需要知道该容器的运行情况,包括 CPU使用率、内存占用、网络状况以及磁盘空间等等一系列信息,而且这些信息随时间变化,我们称其为时序数据概述一个宿主机上可以运行多个容器化应用,容器化应用运行于宿主机上,我们需要知道该容器的运行情况,包括 CPU使用率、内存占用、网络状况以及磁盘空间等等一系列信息,而且这些信息随时间变化,我们称...

2018-04-25 10:52:26 199

转载 如何用Nginx搭建一个安全的、快速的微服务架构

本文改编自Chris Stetson发表在nginx.conf 上的一个有关如今的微服务以及如何使用Nginx构建一个快速的、安全的网络系统的演讲,自我介绍Chris Stetson:Hi,我的名字是Chris Stetson,我在Nginx带领专业服务部门,同时也领导微服务实践。今天我们要谈论微服务以及如何使用Nginx构建一个快速的、安全的网络系统。在我们谈话的最后,我们将与我们在Zokets...

2018-04-23 18:31:37 812

转载 消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局

一、前言消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位。目前开源的消息中间件可谓是琳琅满目,能让大家耳熟能详的就有很多,比如ActiveMQ...

2018-04-20 20:40:52 571

转载 Spring整合Quartz分布式调度

前言为了保证应用的高可用和高并发性,一般都会部署多个节点;对于定时任务,如果每个节点都执行自己的定时任务,一方面耗费了系统资源,另一方面有些任务多次执行,可能引发应用逻辑问题,所以需要一个分布式的调度系统,来协调每个节点执行定时任务。Spring整合QuartzQuartz是一个成熟的任务调度系统,Spring对Quartz做了兼容,方便开发,下面看看具体如何整合:1.Maven依赖文件<d...

2018-04-19 10:15:59 497

空空如也

空空如也

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

TA关注的人

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