自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

简单与专注,自信源于内心的修养!

  • 博客(248)
  • 资源 (3)
  • 收藏
  • 关注

转载 Spring事务管理(详解+实例)

转载自:http://blog.csdn.net/trigl/article/details/50968079写这篇博客之前我首先读了《Spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解Spring事务配置的五种方式Spring中的

2017-02-12 03:53:23 4392

原创 我在网上收集的开源android app学习网址

1. http://www.open-open.com/lib/view/open1328063267889.htmlbud

2014-09-16 00:07:37 535

原创 (一)vip saturn任务调度器使用:saturn升级支持sb2.x记要

微信公众号:架构师前线原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。目录文章目录目录一、调整细节1.0 saturn-job 项目调整1.1 saturn-console-api 子项目调整1.2 saturn-core 子项目调整1.3 saturn-it 子项目调整1.4 saturn-demo-springboot 子项目调整1.5 sat...

2019-09-17 21:39:22 1692 2

转载 Java架构-亿级流量系统架构之如何支撑百亿级数据的存储与计算

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/Coco_Wditm/article/details/84638472本文聊一下笔者几年前所带的团队负责的多个项目中的其中一个,用这个项目来聊聊一个亿级流量系统架构演进的过程。一、背景引入首先简单介绍一下项目背景,公司对合作商家提供一个付费级产品,这个商业产品背后涉及到数百人的研发团队协作...

2018-12-24 14:49:09 502

原创 disruptor并发编程一:入门使用

disruptor框架入门使用一、引入disruptor框架二、示例Martin Fowler写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使`用事件源驱动方式。业务逻辑处理器的核心是Disrupto...

2018-11-25 21:38:48 375

原创 ES 父子文档

ES 父子文档父子文档的特点父子文档的映射与索引父子关系应用父子文档的特点父/子文档是完全独立的。父文档更新不会影响子文档。子文档更新不会影响父文档或者其它子文档。父子文档的映射与索引父子关系 type 的建立必须在索引新建或 update-mapping 时候确定好PUT /company{ "mappings": { "branch": {}, ..

2018-11-06 23:59:29 492

原创 Elasticsearch 6.2.3 head插件

1.安装Elasticsearch 6.2.3首先需要安装JDK,然后选择一个目录,执行如下命令下载、解压和运行-d 是指后台运行curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gztar -xvf elasticsearch-6.2.3.tar.gzc...

2018-11-02 12:46:24 285

转载 Docker 部署ElasticSearch 6.3.2以及elasticsearch-head

转载自: https://blog.csdn.net/yan69594281/article/details/82292063一、ElasticSearch是什么? Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。 不过,Elasticsea...

2018-10-29 10:15:45 681

原创 Elasticsearch6.3.2安装IK分词插件

ik分词器介绍elasticsearch-analysis-ik git地址:https://github.com/medcl/elasticsearch-analysis-ik分词方式 Analyzer: ik_smart , ik_max_word Tokenizer: ik_smart , ik_max_wordes安装ik插件有2种方式: plugin自动安装方式和手动解压...

2018-10-28 14:46:44 2442

原创 接入层控制:nginx动态流量路由和负载均衡

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。任何团队面临着业务的增长,服务的路由场景及流量控制需求都会越来越复杂。通常会涉及到接入层路由、流量控制和应用服务层路由、甚至数据库路由等。而负载均衡又是另一个热门的技术话题,可以用在服务端各层。本文主要讲解分布式系统中接入层的动态路由以及围绕的负载均衡。一、业务需要业务早期,业务需求和发展规划简单,...

2018-09-24 21:31:51 2828

转载 微服务架构之事件驱动架构

转载自:https://blog.csdn.net/jacks_sure/article/details/52537886 版权声明:本文为博主原创文章,转载须注明作者与来源。 https://blog.csdn.net/jacks_sure/article/details/52537886 前言 微服务架构中的数据管理 实时一致性 最终一致性 事件驱动的架构...

2018-09-10 22:08:12 693

原创 消息补偿应用--多key的水平分库方案

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。本文以下单过程卖家与买家维度,介绍基于消息补偿的数据库水平分库细节:1.通过sharding key 查询指定业务数据2.良性扩展多sharding key业务3.保持数据一致一、业务场景mysql 水平分库分表时,一般按照某个维度划分,主体业务在该维度上的相关表都要做相同划分。以订单业...

2018-09-01 18:01:54 203

原创 分布式事务--消息补偿的最终一致

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。大规模业务数据的方案一般都是分库分表,而且一些场景会同时跨多个库发生业务。在 "分布式事务概述"一文中,我们讲到事务消息的MQ补偿方案是目前公认的较为理想的分布式事务解决方案,实施成本也较高,今天我们即讲述这种补偿方案的最终一致性落地细节。 一、消息补偿流程回顾之前我们提到,消息中间件在分布式系...

2018-08-21 10:02:49 4911 1

原创 TCP粘包与拆包

面向网络编程,会遇到数据接收过程中数据质量太差问题,很可能是TCP传输过程中数据拆解和封装过程及性能导致,这涉及到tcp报文的粘包与拆包,我们今天讲粘包和拆包的概念。现象 tcp作为面向有连接、字节流的传输层协议,每次发送的一个业务报文都无固定大小边界,接收端应用层的一次读取操作并不能识别到拿到的数据是发送端的一个业务报文还是半个或者部分报文。以微信发消息场景为例,你连续向对方发送两个消息报文Da...

2018-07-01 22:03:33 319

原创 juc并发控制--CountDownLatch使用

juc(java.util.concurrent)包是Doug Lea大神为了解决jdk内置的高并发机制性能问题,设计的一套高并发包,大神希望它能够成为高并发需求的基础。今天我们讲解它的4大并发工具之一:CountDownLatch。CountDownLatch类CountDownLatch 是juc包下的一个同步工具类,功能同java内置 Thread 的join很相似,同时功能和性能又高于jo...

2018-06-29 12:12:02 297

原创 单节点限流算法

在实际项目中,某个功能或一组接口可能曾经遭遇过线上5W+QPS的峰值,或者也会在压测状态下经历过10W+QPS的大流量请求。一个高并发系统中对流量的把控非常重要,当巨大的流量直接请求到某一个服务器上没多久就可能造成接口不可用,不处理的话甚至会造成整个应用不可用。大流量场景比如经常会遇到这样的业务场景,作为客户端要向kafka生产数据,而kafka的消费者则再源源不断的消费数据,并将消费的数据全部请...

2018-06-18 12:33:49 491

原创 jvm堆外内存--DirectByteBuffer

jvm的堆外内存本来是高贵而神秘的东西,只在一些缓存方案实战级别才会出现。但自从用了Netty等高并发IO框架后,就变成了天天与堆外内存打交道,在mina,netty等nio框架中屡见不鲜。堆外内存的优点是能减少IO过程的内存复制,不需要 "堆内存Buffer拷贝一份到直接内存中,然后才写入Socket";而且没有烦人的GC。广义的堆外内存堆外内存是相对于jvm堆内内存的一个概念。堆内内存是jvm...

2018-06-17 13:07:19 3089

原创 物联网长连接机制--应用层心跳与超时

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。做IM、物联网和服务器端底层中间件,经常会涉及到在线保活长连技术的细节实施。今天我们谈一个主流的保活在线技术:应用层心跳+超时。长连接目前使用最多的场景是IM(Instant Message)和消息推送,如微信、YY语音、极光推送等产品,除了IM,目前持续应用在物联网、车联网、医疗Al等领域。长连接概念这里的连...

2018-06-11 10:13:58 5183

原创 Java并发--InterruptedException机制

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。近期重新学习juc中的ReentrantLocklock类源码,虽然之前有相当长时间从事IM编发编程,但每次回顾IM设计,都会有新的收获。这次从中重新收获java中断类InterruptedException的理解。java中断响应是描述当一个线程或方法A处于运行、阻塞或死锁状态时,外界(通常指其他线程、系统I...

2018-06-03 18:57:18 24917 1

原创 redis-setnx-getset 不可重入分布式锁实现

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。通常如果在单机环境,使用synchronized或juc ReentrantLock 实现锁机制,但如果是分布式系统,则需要借助第三方工具实现,比如redis、zookeeper等。redis为单进程单线程模式,操作都是原子过程,采用队列模式将并发访问变成串行访问,且多客户端对redis的连接并不存在竞争关系。...

2018-05-27 22:00:38 1203 1

原创 分布式事务概述

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。一、什么是事务普通数据库事务(简称:事务,Transaction)是指一个单数据库节点执行过程中的一个逻辑单位由一个有限的数据库操作序列构成,这一系列数据库操作序列组成的逻辑单位具有强原子性,或全部执行,或全部不执行。该事务拥有以下四个特性,习惯上被称为 ACID 特性:原子性(Atomicity):事务作为一...

2018-05-23 15:13:36 229

原创 异地多活的单元化设计

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。 现在的互联网技术从业者或多或少知道阿里"单元化"技术这个词,阿里的很多业务线和系统,都已实现单元化架构,很多其他公司也在参考阿里单元化方案,实现自己的多活架构。单元技术是阿里巴巴异地多活实践中总结出来的基于核心业务的跨机房分流量技术,如之前提到,实际的软件系统技术上很难100%业务使用多活,只能尽量保证绝大部...

2018-05-15 14:04:36 4431

原创 互联网异地多活方案发展历史

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。  今日的互联网环境,已经是标准的大数据规模,各大主流互联网平台都是PB级别数据及准PB级。异地多活技术是随着互联网环境进步发展到PB量级后,出现并逐步完善的一种用于解决高并发、大流量、高可用、热灾备需求的分布式解决方案。近4、5年,随着互联网环境的不断进步,当前异地多活技术是仅次于微服务架构、区块...

2018-05-12 14:52:35 3001 1

原创 多数据中心数据分类

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。 继单元化实施,本文针对金融级分布式系统中,异地多活方案实施过程单元化技术弹性存储层数据分类设计调研与思考。一、多数据中心: 困难的存储伸缩现代金融级业务需求严格遵守业务连续性管理(BCM)体系,如因交易瞬间无法执行造成异常的后果,都是巨大的经济损失、投资损失。因此,金融级系统架构对效率、容错、灾备恢复等都有高...

2018-05-10 21:30:47 1449

原创 docker入门三: docker-compose及其他概念、基础命令

经过前面几篇入门docker操作,希望你大致已掌握docker的使用,剩下的提高方法主要是多将自己开发的应用部署到docker上,进一步提高熟练掌握docker,docker是当下半自动化运维和自动化运维的主要技能之一,也是效能平台如K8s等的使用基础。一、docker-compose(https://github.com/docker/compose) Docker Compose是...

2018-03-17 12:02:21 661

原创 docker入门二: Spring Boot项目部署到Docker

继上一篇 在Centos上安装好docker后,接下来显示项目在docker机器上的部署. 学习springboot的的时候,通过打包为jar或者war的格式放到服务器上通过命令直接运行,让部署的过程变得十分简单。随着主流的云计算发展,基于k8s等云平台都支持发布docker镜像,所以将项目直接部署在容器中,并运行镜像的容器变的也十分重要。有时候分布式项目的发布,时刻要保证他们的环境...

2018-03-14 21:40:20 962

转载 用分布式事务中间件来保障金融级交易系统的一致性

转载自: https://yq.aliyun.com/articles/292817摘要: 在本章节中会介绍如何通过引入蚂蚁中间件的分布式事务产品来保证金融级交易系统的一致性问题,并且会分别介绍分布式事务的两种模式:TCC模式和自动模式的使用方式。背景介绍本篇是北京云栖大会Tech Insight Workshop金融云主题《使用SOFA来快速构建金融级分布式交易系统》中的一个组成部分...

2018-03-06 10:30:38 848

转载 搭建: canal部署与实例运行

版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/hackerwin7/article/details/379236071、准备: github:https://github.com/alibaba/canal 里面有包括canal的文档,server端 client端的 例子 源码包等等。 2、canal概述: canal是应阿里巴巴存在...

2018-02-24 09:48:56 321

原创 centos 6.9非编译源码安装mysql5.7

简介:mysql5.7与它的早期版本,在部署上还是有很多不一样,centos6.9 安装mysql5.7时,可用cmake编译安装、也可用yum install命令安装、以及用源码非编译安装 三种方式。如下过程同样支持 centos 6.*下安装mysql5.7 ,不清楚是否支持centos 7.*,不支持mysql 5.7以下版本安装,本文采用源码非编译安装的方式,每个步骤都已亲自测试。注: 好...

2018-02-12 15:53:26 1071 1

转载 两地三中心架构

转载自:http://blog.csdn.net/Love_Taylor/article/details/73603672

2018-02-11 10:33:34 3219

原创 centos 源码安装 apache2.4

现在大部分企业的平台依然用的是CentOS6版本,然而想要安装httpd-2.4的话,就要多费一番周折了,因为CentOS6 yum 安装的apr版本已经不适用于httpd-2.4,所以我们只能进行源码编译安装apr与apr-util。其中安装apr库时很容易报错:rm: cannot remove `libtoolT': No such file or  di

2017-08-27 20:22:54 268

原创 centos git ssh证书登录

一般小的团队搭建内部使用git服务器,与svn不一样,在git里,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。如果团队有几百号人,就没法这么玩了,这时,可以用Gitlab来管理公钥和权限,Gitlab类似Github。客户端ssh证书登录的整个实施过程如下:1.在你的客户端机器上,执行 ssh-keygen -t rsa -C

2017-05-29 17:14:01 2859

转载 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案

转载自:http://blog.csdn.net/bluishglc/article/details/7970268版权声明:本文由本人撰写并发表于2012年9月份的《程序员》杂志,原文题目《一种支持自由规划的Sharding扩容方案——主打无须数据迁移和修改路由代码》,此处作为本系列的第五篇文章进行转载, 本文版权归《程序员》杂志所有,未经许可不得转载!作为一种数

2017-04-09 21:56:37 803

原创 docker入门一: docker基本概念

Docker 是个伟大的项目,它彻底释放了虚拟化的威力,极大降低了云计算资源供应的成本,同时让应用的分发、测试、部署和分发都变得前所未有的高效和轻松,Docker有最基本的几个概念:Docker 镜像:      Docker 镜像就是一个只读的模板,像可以用来创建 Docker 容器。Docker 容器:      Docker 利用容器来运行应用。容器是从镜像创建的运行实例。它可以被启动、开始...

2017-04-02 17:12:40 583

转载 Spring Boot集成MyBatis与分页插件

转载自:http://blog.csdn.net/goldenfish1919/article/details/517063161.MyBatisConfig.java[java] view plain copy @Configuration  @EnableTransactionManagement  public cl

2017-03-19 22:23:48 1419 1

转载 移动直播技术秒开优化经验(含PPT)

转载自:http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653547042&idx=1&sn=26d8728548a6b5b657079eeab121e283&scene=21#wechat_redirect原创 2016-04-28 徐立 高可用架构编者按:本文由徐立在高可用架构群分享,转载请注明来自高可

2017-03-18 05:25:06 1107

转载 如何设计一个小而美的秒杀系统?

转载自:http://blog.csdn.net/u011537073/article/details/61202081现如今,春节抢红包的活动已经逐渐变成大家过年的新风俗。亲朋好友的相互馈赠,微信、微博、支付宝等各大平台种类繁多的红包让大家收到手软。鸡年春节,链家也想给15万的全国员工包个大红包,于是我们构建了一套旨在支撑10万每秒请求峰值的抢红包系统。经实践证明,春节期间我们成功的

2017-03-18 03:38:58 289

原创 php flock 独占使用

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )flock()允许执行一个简单的可以在任何平台中使用的读取/写入模型(包括大部分的Unix派生版和windows)在PHP 5.3.2版本之前,锁会被 fclose() 释放(在脚本结束后会自动调用),现在需要手动解锁o

2017-03-11 21:55:21 298

转载 dubbo(一)dubbo+zookeeper 之 Hello World

转载自:http://blog.csdn.net/qq315737546/article/details/52005123以前2个项目交互,一直用的httpclient,繁琐的很. 用dubbo来做RPC确实好太多啦. 先把这个demo记录下来.操作步骤:1.安装zookeeper,下载dubbo-admin的war包.2.写代码. 分为 接口,提供者,消费者

2017-03-11 14:52:04 234

转载 在线聊天、会议、远程教育系统开源技术方案

转载自:http://blog.csdn.net/iefreer/article/details/9132301企业网可以使用SIP/RTP或者服务质量更高的H.323互联网可以使用XMPP(原jabber,已被IETF标准化RFC3920),gtalk,openfire就是基于XMPP实现微信也是参照XMPP协议,activesync改进而来。XMPP本身使用http长链接来

2017-03-08 02:09:37 601

android开发

Android框架揭秘 入门不错的额教材

2015-12-06

Java实用系统开发指南

很好的一本书啊,值得作为java练习使用。

2014-01-10

Oracle Developer 2000 学习教程

很好的一本书,供oracle form编程学习,合适入门者。

2012-12-22

空空如也

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

TA关注的人

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