自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (3)
  • 收藏
  • 关注

原创 kubectl delete pod Terminating 删不掉

kubectl delete pod dev1-homepage-rc-18d3l --namespace=cmall-dev1 --grace-period=0 --force

2017-10-27 17:09:46 741

原创 k8s 1.7.4 版本环境异常

k8s 1.7.4 版本环境异常 场景:2个节点主板坏了。修好之后,宿主机网络出现问题,启动容器。有的容器网络正常,有的网络不正常、 解决:在master节点删除,node2.node3,重新打标签,然后正常...

2017-10-27 17:00:57 100

原创 分布式消息队列RocketMQ&Kafka -- 消息的“顺序消费”-- 一个看似简单的复杂问题...

在说到消息中间件的时候,我们通常都会谈到一个特性:消息的顺序消费问题。这个问题看起来很简单:Producer发送消息1, 2, 3。。。 Consumer按1, 2, 3。。。顺序消费。但实际情况却是:无论RocketMQ,还是Kafka,缺省都不保证消息的严格有序消费!这个特性看起来很简单,但为什么缺省他们都不保证呢?“严格的顺序消费”有多么困难下面就从3个方面来分析一下,对于...

2017-10-26 10:10:05 215

原创 常用Lua开发库1-redis、mysql、http客户端

对于开发来说需要有好的生态开发库来辅助我们快速开发,而Lua中也有大多数我们需要的第三方开发库如Redis、Memcached、Mysql、Http客户端、JSON、模板引擎等。一些常见的Lua库可以在github上搜索,https://github.com/search?utf8=%E2%9C%93&q=lua+resty。 Redis客户端lua-resty-red...

2017-10-25 16:20:23 137

原创 Shell脚本中引用、调用另一个脚本文件的2种方法

在Java,Python中,可以用import的方式来进行脚本或模块之间调用,例如: 复制代码代码如下:>>> import math  >>> math.sqrt(4)  2.0  在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一:   . ./subscript.sh      方法二:   so...

2017-10-25 14:14:07 2556

原创 Shell脚本中的return,exit 0,以及 父进程获取子进程的变量

1 Shell脚本中的return,exit 0 shell脚本中,一般在脚本的函数里面使用return语句,函数中使用return语句后,表示函数执行完毕,函数中return语句后面的代码将不再执行,同时脚本将继续执行函数后的代码。但是exit 0无论在脚本中,还是函数中,一旦使用,将退出整个shell脚本。 2 父进程获取子进程的变量: 1. 在A脚本中执行B脚本,可以让B脚本exit...

2017-10-25 11:29:39 286

原创 kafka消息传递保障

Now that we understand a little about how producers and consumers work, let's discuss the semantic guarantees Kafka provides between producer and consumer. Clearly there are multiple possible messag...

2017-10-20 15:48:51 309

原创 Kafka 高吞吐量性能揭秘

A high-throughput distributed messaging system.--Apache KafkaKafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲、异步通信、汇集日志、系统解耦等方面。相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的读写性能。本文将针对Kafka性能方面进行简单分析,首先简单介绍一下...

2017-10-20 15:09:42 130

原创 从Apache Kafka 重温文件高效读写

0. Overview卡夫卡说:不要害怕文件系统。它就那么简简单单地用顺序写的普通文件,借力于Linux内核的Page Cache,不(显式)用内存,胜用内存,完全没有别家那样要同时维护内存中数据、持久化数据的烦恼——只要内存足够,生产者与消费者的速度也没有差上太多,读写便都发生在Page Cache中,完全没有同步的磁盘访问。整个IO过程,从上到下分成文件系统层(VFS+ ext3...

2017-10-20 14:52:30 87

原创 jenkins报错总结

报错:coding.net不支持http协议改用ssh协议git clone代码 原因是私有库,需要配置和服务器的秘钥文件 http://blog.csdn.net/dwl764457208/article/details/50836284文章位置 配置秘钥 点击add即可 完成 报错:没有找到项目的根pom文件 解决办法,根据jenkins的客户端打印的信息,找到项目位置 sy...

2017-10-18 18:58:49 911 1

原创 分布式事务的典型处理方式:2PC、TCC、异步确保和最大努力型

1. 柔性事务和刚性事务2. 两阶段提交(2PC)型2、事务补偿型(TCC事务):3、异步确保型4、最大努力型1. 柔性事务和刚性事务柔性事务满足BASE理论(基本可用,最终一致)刚性事务满足ACID理论本文主要围绕分布式事务当中的柔性事务的处理方式进行讨论。柔性事务分为两阶段型补偿型异步确保型最大努力通知型几种。 由于支付宝...

2017-10-17 17:29:54 120

原创 ElasticSearch Groovy脚本远程代码执行漏洞分析(CVE-2015-1427) (附exp)

ElasticSearch是一个JAVA开发的搜索分析引擎。2014年,曾经被曝出过一个远程代码执行漏洞(CVE-2014-3120),漏洞出现在脚本查询模块,由于搜索引擎支持使用脚本代码(MVEL),作为表达式进行数据操作,攻击者可以通过MVEL构造执行任意java代码,后来脚本语言引擎换成了Groovy,并且加入了沙盒进行控制,危险的代码会被拦截,结果这次由于沙盒限制的不严格,导致远...

2017-10-16 19:08:22 1059

原创 jquery dataTable dataTable.fnDraw()重新加载数据后更改iDisplayLength!

 datagrid.dataTable({            "bServerSide": true,            "iDisplayLength": 18,            "bStateSave": false,  ....加入    "bStateSave": false,...

2017-10-16 00:32:53 1254

原创 搞懂深度学习到底需要哪些数学知识

为了彻底理解深度学习,我们到底需要掌握哪些数学知识呢?经常看到会列出一系列数学科目:微积分、线性代数、概率论、复变函数、数值计算等等。这些数学知识有相关性,但实际上这是一个最大化的知识范围,学习成本会非常久,本文尝试归纳理解深度学习所需要的最小化数学知识和推导过程。http://blog.csdn.net/wemedia/details.html?id=41335...

2017-10-14 20:35:55 184

原创 权重轮询调度算法(WeightedRound-RobinScheduling)-Java实现2

1. 一般轮询算法服务器类Java代码  package com.sosop.roundRobin;    public class Server {      private String ip;      private int weight;            public Server(String ip) {        ...

2017-10-14 17:47:37 348

原创 多种负载均衡算法及其Java代码实现

首先给大家介绍下什么是负载均衡(来自百科)负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备和 服务器的带宽、增加 吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web 服务器、 FTP服务器、 企业关键应用服务器和其它关键任务服务器等,从而共同完...

2017-10-14 16:35:52 67

原创 volatile的适用场景 模式 #1:状态标志 demo

也许实现 volatile 变量的规范使用仅仅是使用一个布尔状态标志,用于指示发生了一个重要的一次性事件,例如完成初始化或请求停机。 package test;public class Test { public boolean shutdownRequested= false; public void shutdown() { ...

2017-10-14 16:06:06 88

原创 RocketMQ配置

1. 客户端的公共配置类:ClientConfig参数名默认值说明namesrvAddrNameServer 地址列表,多个NameServer地址用分号隔开clientIp本机IP客户端本机IP地址,某些机器会发送无法识别客户端IP地址的情况,需要应用在代码中强制指定instanceNameDEFAULT客户端实例名称,客户端创建的多...

2017-10-13 18:48:29 109

原创 RocketMQ批量消费、消息重试、消费模式、刷盘方式

一、Consumer 批量消费可以通过 [java] view plain copy consumer.setConsumeMessageBatchMaxSize(10);//每次拉取10条  这里需要分为2种情况1、Consumer端先启动  2、Consumer端后启动.   正常情况下:应该是Consumer需要先启动 1、Cons...

2017-10-13 18:43:16 261

原创 RocketMQ原理解析-broker 3.load&recover

Broker启动的时候需要加载一系列的配置,启动一系列的任务,主要分布在BrokerController 的initialize()和start()方法中1.      加载topic配置2.      加载消费进度consumer offset3.      加载消费者订阅关系consumer subscription4.      加载本地消息messageStore.lo...

2017-10-13 10:23:48 88

原创 RocketMQ架构模块解析

RocketMQ是一个分布式开放消息中间件,底层基于队列模型来实现消息收发功能。RocketMQ集群中包含4个模块:Namesrv, Broker, Producer, Consumer。Namesrv: 存储当前集群所有Brokers信息、Topic跟Broker的对应关系。Broker: 集群最核心模块,主要负责Topic消息存储、消费者的消费位点管理(消费进度)。...

2017-10-13 10:23:25 82

原创 RocketMQ——Consumer篇:向Broker同步消费进度的定时任务

每隔5秒调用一次MQClientInstance.persistAllConsumerOffset()方法将消费进度向Broker同步。遍历MQClientInstance.consumerTable: ConcurrentHashMap<String/*group */, MQConsumerInner>变量。对于PushConsumer端和PullConsumer端,处理逻辑是...

2017-10-13 10:20:29 360

原创 分布式消息队列RocketMQ与Kafka架构上的巨大差异之2 -- CommitLog与ConsumeQueue

在前面Rocket与Kafka的对比之“拨乱反正”续篇中,我们已经提到了RocketMQ和Kafka在架构上面的一个巨大差异:Kafka是每个partition对应一个文件,而RocketMQ是把所有topic的所有queue的消息存储在一个文件里面,然后再分发给ConsumeQueue。存储上的巨大差异Kafka的存储下图展示了Kafka的存储结构: 其中每个topic_pa...

2017-10-12 16:29:35 253

原创 转载和积累系列 - Page cache和Buffer cache

Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会缓存到page cache。文件的逻辑层需要映射到实际的物理磁盘,这种映射关系由文件系统来完成。当page cache的数据需要刷新时,page cache中的数据交给buffer cache,但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作。在Linux 2.6的内核中Page c...

2017-10-12 15:56:23 99

原创 Kafka源码深度解析-序列7 -Consumer -coordinator协议与heartbeat实现原理

单线程的consumer在前面我们讲过,KafkaProducer是线程安全的,同时其内部还有一个Sender,开了一个后台线程,不断从队列中取消息进行发送。而consumer,是一个纯粹的单线程程序,后面所讲的所有机制,包括coordinator,rebalance, heartbeat等,都是在这个单线程的poll函数里面完成的。也因此,在consumer的代码内部,没有锁的出现。//客户端...

2017-10-12 11:45:36 373

原创 分布式消息队列RocketMQ源码分析之4 -- Consumer负载均衡与Kafka的Consumer负载均衡之不同点 ...

分析完RocketMQ的负载均衡,我们发现它比Kafka的负载均衡要简单,Kafka在这1块搞了蛮复杂的通信协议,可以参见上面那篇文章。具体来说,有2个地方,要简化很多:(1) Kafka首先为每个Consumer Group选出了一个Coordinator,所有的Consumer要先找到这个Coordinator,然后和其通信,开始负载均衡。RocketMQ直接省去了这个选Coor...

2017-10-12 11:36:33 134

原创 alibaba rocket mq的串行及并行处理

项目中用到rocket mq的方式有多种,第一种,严格按照时间消费的模式,这种模式需要用串行方式,生产者生产的时候,这时候生产者需要往特定的队列里有序push:                     SendResult result = producer.send(msg, new MessageQueueSelector(){@Overridepublic MessageQueu...

2017-10-12 10:37:39 144

原创 Otter(一)初识----简介和基本架构图

tter 初识----简介和基本架构图         前阵子做的一个安防平台的项目,其中有一个需求,就是满足22个车站的数据库同步,虽然之前也接触过数据库同步,但是只是做过简单的master/slave,对于22个跨机房的数据库同步还真没做过,经过一番的交流讨论之后暂定使用阿里巴巴的开源项目otter,来解决这个问题。  一:基本介绍         Otter是早先阿里巴巴为了...

2017-10-11 11:23:41 201

原创 Canal+Otter - 前日篇(1)

数据库同步中间件Canal+Otter - 前日篇(1)启 - 我们为什么需要数据库跨机房同步随着业务的增长和技术的演进,在应用架构上,我们经历了单一用用架构->垂直应用架构->分布式应用架构的发展。对应的,后台数据库也出现了分布式的解决方案。读写分离,负载均衡读写以及两点双写集群甚至于多点多写集群这些,都离不开数据库的同步。一般的,这些同步都是在同一机房内的。 渐渐的,我...

2017-10-11 11:21:36 108

原创 Otter-入门篇1(阿里开源项目Otter介绍)

Otter-入门篇1(阿里开源项目Otter介绍)前言呜啦啦啦啦!今天笔者又来开坑了,这次开坑的对象呢是阿里的一个开源项目Otter,Otter它是一个数据同步解决方案,可以解决本地跨网络跨机房跨地域的数据同步问题,并且拥有可观的效率,web管理工具等特点,而且背景也很优秀,据说阿里B2B内部的本地/异地机房的同步需求基本全上了otter。附上:喵了个咪的博客:w-blog...

2017-10-11 11:16:12 155

原创 RocketMQ的顺序消费和事务消费

一、三种消费 :1.普通消费 2. 顺序消费 3.事务消费1.1  顺序消费:在网购的时候,我们需要下单,那么下单需要假如有三个顺序,第一、创建订单 ,第二:订单付款,第三:订单完成。也就是这个三个环节要有顺序,这个订单才有意义。RocketMQ可以保证顺序消费,他的实现是生产者(一个生产者可以对多个主题去发送消息)将这个三个消息放在topic(一个topic默认有4个队列)的一个队列里面,...

2017-10-11 10:57:29 75

原创 rocketmq怎么保证队列完全顺序消费?

实际上,RocketMQ是支持顺序消费的。 但这个顺序,不是全局顺序,只是分区顺序。要全局顺序只能一个分区。 之所以出现你这个场景看起来不是顺序的,是因为发送消息的时候,消息发送默认是会采用轮询的方式发送到不通的queue(分区)。如图: 而消费端消费的时候,是会分配到多个queue的,多个queue是同时拉取提交消费。 如图: 但是同一条queue里面,RocketMQ的确是能保证FIFO...

2017-10-11 10:55:25 1029

原创 使用Jenkins进行持续构建与发布应用到Kubernetes集群中

本文已归档到kubernetes-handbook中的【最佳实践—使用Jenkins进行持续构建与发布】章节中,一切内容以kubernetes-handbook中稳准。我们基于Jenkins的CI/CD流程如下所示。流程说明应用构建和发布流程说明。用户向Gitlab提交代码,代码中必须包含Dockerfile;将代码提交到远程仓库;用户在发布应用时需要填写git仓...

2017-10-10 13:45:36 373

原创 Linux LVM 的使用详解

摘要: Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如Patition Magic等),但这都只是暂时解决办法,没有根本解决问题。随着Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解,本文就深入讨论LVM技术,使得用户在无...

2017-10-08 10:28:23 113

原创 自动抢红包,自动安装原理之AccessibilityService

本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布前段时间看别人博客的时候偶然间看到了Android微信自动回复功能,最后的效果也很不错,博主在文中提到了AccessibilityService,以前压根没接触过这东西,表示一脸懵逼。也是这个原因我去找了AccessibilityService相关的资料好好的看了一遍,发现这个东西真的太NB了,网上对Accessibili...

2017-10-07 21:27:33 154

原创 关于分布式事务、两阶段提交协议、三阶提交协议

随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在《分布式系统的一致性探讨》一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介绍如何有效的解决分布式的一致性问题,其中包括什么是分布式事务,二阶段提交和三阶段提交...

2017-10-04 22:44:41 60

原创 分布式系统事务一致性解决方案

http://www.infoq.com/cn/articles/solution-of-distributed-system-transaction-consistency开篇在OLTP系统领域,我们在很多业务场景下都会面临事务一致性方面的需求,例如最经典的Bob给Smith转账的案例。传统的企业开发,系统往往是以单体应用形式存在的,也没有横跨多个数据库。我们通常只需借助开发平台中特...

2017-10-04 22:11:57 97

原创 可靠消息服务实现(分布式事务)

一 常用解决方案分布式事物解决方式有很多,网上博客也有一大堆  总结一般有如下两种 1 刚性分布式事务,两阶段提交 强一致性2 柔性分布式事务   最大努力提交 ,tcc,可靠消息服务首先解决分布式事务前提保障:接口必须幂等性,防止消息重复发送对业务影响  二 可靠消息系统设计(这个感觉不错比较简单,就拿来分享下)如上图 开始执行 比如:try{     ...

2017-10-04 22:00:14 301

servlet购物车

简单的servelt购物车。适合初学者兼用~

2010-06-03

javascript通讯录

包括一些网页设计常用的类的代码:时间日期类、鼠标事件类、状态烂特效、页面效果类、图形图象类、按钮特效类、文本特效类、信息检测类、警告提示类、菜单类、窗口特效类、综合类,框架。

2010-05-24

jsp.通讯录管理系统

jsp通讯录,实现增,删,改,查,分组,分页的功能,适合初学着兼用!

2010-05-24

空空如也

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

TA关注的人

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