摘要:产品分 1:功能性需求 2:非功能性需求 功能性需求,产品经理负责,非功能性需求,架构师负责。是否上线,PO负责 产品要求: 如果产品达到了商业目的和业务价值,那么我觉的都可认为是稳定的。稳定不是没有bug,实现100%功能和100%高性能/高可用,应该是针对用产品既定目标而言
阅读全文
摘要:11月23日,新炬网络中间件技术专家刘拓老师在DBA+社群中间件用户组进行了一次主题为“开源 VS 商业,消息中间件你不知道的那些事”的线上分享。小编特别整理出其中精华内容,供大家学习交流。 嘉宾简介 新炬网络中间件技术专家 曾任职于IBM华南GTS 4年,IBM WebSphere、MQ、CICS
阅读全文
摘要:目录[-] 一、高可用性、负载均衡、复制的几个方案比较: 二、多节点集群方案比较 一、高可用性、负载均衡、复制的几个方案比较: 二、多节点集群方案比较 9.3官方文档(中文):http://58.58.27.50:8079/doc/html/9.3.1_zh/high-availability.ht
阅读全文
摘要:MySQL语句: SELECT GROUP_CONCAT(DISTINCT transaction_no) FROM `lm_wh_trans` GROUP BY staff_code; 如果transaction_no 在staff_code 分组下有多个不同的值的时候,将会将不同的值进行拼接上去
阅读全文
摘要:java:Java核心技术(第9版) Java并发编程的艺术Java性能优化权威指南web基础:tomcat权威指南鸟叔linux私房菜深入浅出servlets&jsp框架:Spring实战(spring in action) spring mvc(http://jinnianshilongnian
阅读全文
摘要:3、Ant+Selenium+Testng+Jenkins 这是我现在正在研究并使用的框架。(ps:jenkins这...还没用到。原来听说了hudson的强大,这个升级版估计会更有使用价值,未来研究)我这里说的selenium没有区分RC还是webdriver,两者各有千秋又互相补充,兼而用之即可
阅读全文
摘要:1,一致性协议 两阶段提交协议与Raft协议、Paxos协议 ①两阶段提交协议 在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为协调者的组件来统一掌控所有节点(称作参与者)的操作
阅读全文
摘要:如果两个对象具有相同的哈希码,但是不相等的,它们可以在HashMap中同时存在吗? 答案是 可以 原因: 在hashmap中,由于key是不可以重复的,他在判断key是不是重复的时候就判断了hashcode这个方法,而且也用到了equals方法。 这里不可以重复是说equals和hashcode只要
阅读全文
摘要:一、分布式系统的难点 分布式系统比起单机系统存在哪些难点呢? 1. 网络因素 由于服务和数据分布在不同的机器上,每次交互都需要跨机器运行,这带来如下几个问题: 同机房的网络IO还是比较块的,但是跨机房,尤其是跨IDC,网络IO就成为不可忽视的性能瓶颈了。并且,延迟不是带宽,带宽可以随便增加,千兆网卡
阅读全文
摘要:1、RSHash unsigned int RSHash(const std::string& str) { unsigned int b = 378551; unsigned int a = 63689; unsigned int hash = 0; for(std::size_t i = 0;
阅读全文
摘要:以前做统计代码测试覆盖,一般用Cobertura。以前统计测试覆盖率,一般只算Unit Test,或者闭上眼睛把Unit Test和Integration Test一起算。 但是,我们已经过了迷信UT的时代: UT不支持大幅度重构,如果对类和方法进行重构拆分,UT就失去了保障重构后代码仍然正确的作用
阅读全文
摘要:前言 这两天自己挽起袖子处理日志,终于把AWK给入门了。其实AWK的基本使用,学起来也就半天的时间,之前总是靠同事代劳,惰性呀。 此文仅为菜鸟入门,运维们请勿围观。 下面是被处理的日志的示例,不那么标准,但不标准的日志正是标准的情况。 [2015-08-20 10:00:55.600] - [192
阅读全文
摘要:书架主要针对Java后端开发。 3.0版把一些后来买的、看的书添补进来,又或删掉或降级一些后来没有再翻开过的书。 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录。 1. 操作系统与网络的书 《L
阅读全文
摘要:volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v
阅读全文
摘要:作者:Cary G.Gray and David R. Cheriton 1989 译者:phylips@bmy 2011-5-7 出处:http://duanple.blog.163.com/blog/static/70971767201141111440789/ [ 序:所谓租约(leases)
阅读全文
摘要:1.编译zabbix的时候需要添加参数--enable-java 关于如何安装zabbix,可以参考上一篇文章http://blog.unix178.com/ 备份zabbix_server.conf和zabbix_agentd.conf文件,重新编译安装zabbix 2.zabbix_server
阅读全文
摘要:CentOS6.4 配置Tengine 1、安装Nginx所需的pcre-devel库 yum install -y gcc gcc-c++ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.gz tar
阅读全文
摘要:公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查。目前,nginx对后端节点健康检查的方式主要有3种,这里列出: 公司业务线上对后端节点的健康检查是通过nginx_upstream_check_module模块做的,这里我将分别介绍这三种实现方式以及之间
阅读全文
摘要:问:24台服务器如果其中有一台服务器的tomcat挂了,你是怎么监控的答:负载均衡器做healthcheck,自动移除
阅读全文
摘要:面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了。 对于nginx日志分析,有很多工具,衡量好坏的标准大概就
阅读全文
摘要:http://www.360doc.com/content/14/0821/09/1073512_403507606.shtml 分布式事务: (1) 分布式事务一致性: (1) 强一致性 (2) 弱一致性:读读一致、写写一致等 (3) 最终一致性 CAP原理 (1) 一致性 (2) 分区容错性 (
阅读全文
摘要:术语: AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。 JMS,Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向
阅读全文
摘要:租约(lease)在英文中的含义是“租期”、“承诺”,在分布式中一般描述如下: Lease 是由授权者授予的在一段时间内的承诺。 授权者一旦发出 lease,则无论接受方是否收到,也无论后续接收方处于何种状态,只要 lease 不过期,授权者一定遵守承诺,按承诺的时间、内容执行。 接收方在有效期内可
阅读全文
摘要:Zookeeper和分布式环境中的假死脑裂问题 Zookeeper和分布式环境中的假死脑裂问题 Zookeeper和分布式环境中的假死脑裂问题 最近和同事聊天无意间发现他们的系统也存在脑裂的问题。想想当初在我们的系统中为了解决脑裂花了非常大的功夫,现在和大家一起讨论下脑裂,假死等等这些问题和解决的方
阅读全文
摘要:1 什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 较大的企业内部,一般都有很多的业务支持系统为其提供相应的管理和IT服务。例如财务系统为财务人
阅读全文
摘要:1 什么是RabbitMQ? RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然: 单向解耦 双向解耦(如
阅读全文
摘要:该类讲解了泛型的基本使用方式,如果对泛型有更深入的理解,可以留言我,大家一起讨论一下,相互学习
阅读全文
摘要:摘要:本文充分利用SOA架构松耦合的特点,通过规范统一网络接口实现业务系统整合,既提升系统安全性,又简化资源访问操作,具有重要的理论和现实意义。 统一身份认证旨在将分散在各个信息系统中的用户和权限资源进行统一集中管理,提升系统安全性,简化资源访问操作。各家金融机构的业务系统由于开发时期不同,支撑技术
阅读全文
摘要:(1) webservice(SOAP):简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议 (2) http:普通的HTTP发送参数(可以使用json格式这些)的方式进行数据传递,现在很多老项目或者简单项目都是使用这个方式进行数据传递
阅读全文
摘要:很多测试人可能对RESTful的概念还是很模糊的,那么到底什么是RESTful?百度百科给出的一句话描述是一个架构样式的网络系统,似乎还是有点不懂?OK,说到Restful,我们一般从REST开始说起。 REST 表征状态转移。是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RE
阅读全文
摘要:本文总结了一些REST风格构架设计的经验,介绍了REST架构的语言生态环境,状态表述转移,无状态服务器等特点,并通过举例Google来说明REST风格的味道。 REST(Representational State Transfer)是HTTP协议的作者Roy Fielding博士在其博士论文中提出
阅读全文
摘要:在请求中传递SessionID被普遍认为是unRESTful的,而将用户的credentials包含在每个请求里又是一种非常RESTful的做法。这样一个问题经常会造成困扰。本文就REST的一些概念进行了探讨,解释了REST架构中的状态,无状态(stateless),以及两种状态的区别 今天早上在Y
阅读全文
摘要:// 安装预环境 yum install gcc gcc-c++ yum install zlib zlin-devel // 安装预环境 yum install gcc gcc-c++ yum install zlib zlin-devel // 安装预环境 yum install gcc gcc
阅读全文
摘要:Nginx动静分离知识及配置,本质上与分离上传下载功能是相同功能,本质就是在文件服务器也是需要部署WEB应用的,只是在进行代理分离的时候分配到对应的文件服务器上去。 随着Nginx高性能Web服务器大量被使用,目前Nginx最新稳定版为1.2.6,张宴兄在实际应用中大量使用Nginx,并分享Ngin
阅读全文
摘要:现在难点在: 1\单击表单提交按钮后,图片上传到图片服务器,文字内容上传web服务器数据库,这两个服务器分别在两个城市. 2\图片不能通过web服务器中转. 3\web服务器内容可以登录认证,但是怎么保证"upload"的提交图片表单是合法的用户? 分析一下: 1. WEB服务器和图片服务器分隔两地
阅读全文
摘要:目前在做一个应用,有不同的客户端,包括web应用的客户端,其他的客户端,都要访问我的文件服务器,通过文件服务程序提供的服务来访问文件,但是对文件管理服务器这个应用,没有什么思路,请大家给点思路,谢谢: 大概的架构图(为了不让大家误解我的需求,重新画了个图)如下: 系统涉及到三个部分: 1、客户端:包
阅读全文
摘要:服务器部署分离原则: (1) 静态分离,上传分离、配置分离
阅读全文
摘要:在这篇文章中我们将讨论的Java轻量级框架Dropwizard和Spring Boot的相似性和差异。 首先,这是一个选择自由和速度需要,无论你在Dropwizard和Spring Boot选择哪个,这两个框架自身都显得有点固执己见,他们都坚信约定优于配置,那么是如何固执呢?你会发现,在我们进行比较
阅读全文
摘要:在上一篇文章中介绍了关于缓冲区的一些细节内容,现在终于可以进入NIO中最有意思的部分非阻塞I/O。通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(Thread per Request
阅读全文
摘要:在上一篇文章中介绍了缓冲区内部对于状态变化的跟踪机制,而对于NIO中缓冲区来说,还有很多的内容值的学习,如缓冲区的分片与数据共享,只读缓冲区等。在本文中我们来看一下缓冲区一些更细节的内容。 缓冲区的分配 在前面的几个例子中,我们已经看过了,在创建一个缓冲区对象时,会调用静态方法allocate()来
阅读全文
摘要:在第一篇中,我们介绍了NIO中的两个核心对象:缓冲区和通道,在谈到缓冲区时,我们说缓冲区对象本质上是一个数组,但它其实是一个特殊的数组,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况,如果我们使用get()方法从缓冲区获取数据或者使用put()方法把数据写入缓冲区,都会引起缓冲区状态的
阅读全文
摘要:最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下,顺便写点东西,就当是自己学习 Java NIO的笔记了。本文为NIO使用及原理分析的第一篇,将会介
阅读全文
摘要:java NIO 前言 我从大二开始学习Java,一直偏重于J2EE领域,写多了SSH、SSM代码之后,Java让我失去了新鲜感,以为调调接口就完事了。笔者一度开始拥抱Go语言,直到我知道“JAVA NIO”这回事,才发现,JAVA能做的有很多。比如在多线程(java.util.concurrent
阅读全文
摘要:使用命令查看当前目录下的所有文件的所占磁盘容量大小 (1) du -sh * 很好用的一个命令,如果是文件夹,那么,这里将汇总文件夹总的占用磁盘容量大小
阅读全文
摘要:现在给的模式是这样,在高并发的情况下,使用缓存减少对数据库的交互,从而提高速度。 那就是在数据库中读取一些常用的数据作为缓存,放到相关的服务器中。用户操作的数据以缓存中的数据为主,数据库只作为辅助作用。 问题: 什么时候缓存数据:(答不上来) 缓存一般存什么数据:存一些在特定的时间点不改变的,使用率
阅读全文
摘要:JAVA – 虚函数、抽象函数、抽象类、接口 1. Java虚函数 1. Java虚函数 虚函数的存在是为了多态。 C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如果Java中不希望某个函数
阅读全文
摘要:微服务确实很受欢迎,但是对于微服务的误解也是事实,本文对这些误解一一来介绍下: 一、微服务不够“微”? 尽管微服务定义的很明确,但是开发者社区对它的解释却颇有争议,主要的一些问题如下: 1.它是否是单体架构的代表? 2.它是否是单体服务的代表? 3.它是否是逻辑功能的组合? 下面让我们以银行应用为例
阅读全文
摘要:本期采访的讲师是来自腾讯高级软件工程师 雷海林,他有着10年以上的Linux后台Server开发经验,目前主要从事分布式Cache、实时大数据处理引擎,分布式MySQL(TDSQL)设计和开发工作。 他将在SDCC 2016 深圳站之数据库峰会上分享的主题是《 腾讯金融云数据库备份恢复原理与实践 》
阅读全文
摘要:云同步的业务场景 这是魅族云同步的演进,第一张是M8、M9,然后到后面的是MX系统,M9再往后发展,我们的界面可以看到基本上是没有什么变化的,但本质发生了很大的变化,我们经过了一些协议优化,发展到今天的魅族云同步。 这是云服务对应的网页端,界面非常简洁,可以看到正中间我们有4个模块,提供一些传统数据
阅读全文
摘要:一、文档资料 1、官方网站:http://www.rabbitmq.com/ 2、安装教程:http://www.rabbitmq.com/install-windows.html 二、安装指南 1、下载并按照OTP(必须在安装RabbitMQ Server前安装):http://www.erlan
阅读全文
摘要:一 Erlang安装 RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境. 从Erlang的官网 http://www.erlang.org/download.html 下载最新的erlang安装包,Linux和MacOSX下载的版本是 R15B01 Source File(72
阅读全文
摘要:本文仅针对RabbitMQ与Redis做队列应用时的情况进行对比具体采用什么方式实现,还需要取决于系统的实际需求 简要介绍 RabbitMQ RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现
阅读全文
摘要:王潜升 https://github.com/code4craft/webmagic 一个爬虫框架,除了不会反爬虫外(当然可以自己加)其他都很牛逼。这个项目更新还是很快的。 ansi分词 https://github.com/biezhi/bladehttps://github.com/biezhi
阅读全文
摘要:0x00 背景知识 一说到WAF,在我们安全工作者,或者作为普通的白帽子来说,就很头疼,因为好多时候,我们发到服务端的恶意流量都被挡掉了,于是就产生了各种绕“WAF”的话题,绕来绕去,也就无非那么多种,而且大多都是基于URLDecode的方式。 虽然我的文章也会讲绕过,虽然也是那么几种,但是我会从防
阅读全文
摘要:nginx增加modsecurity模块 modsecurity原本是Apache上的一款开源waf,可以有效的增强web安全性,目前已经支持nginx和IIS,配合nginx的灵活和高效,可以打造成生产级的WAF,是保护和审核web安全的利器。 1 2 3 4 5 6 7 8 9 10 11 gi
阅读全文
摘要:QQ会员活动运营平台(AMS),是QQ会员增值运营业务的重要载体之一,承担海量活动运营的Web系统。在过去四年的时间里,AMS日请求量从200-500万的阶段,一直增长到日请求3-5亿,最高CGI日请求达到8亿。在这个过程中,AMS在架构方面发生了大幅度的调整和变迁,我们走过了一段非常难忘的技术历程
阅读全文
摘要:三年多前,我在腾讯负责的活动运营系统,因为业务流量规模的数倍增长,系统出现了各种各样的异常,那个时候,我7*24小时地没日没夜处理告警,周末和凌晨也经常上线,疲于奔命。后来,当时的老领导对我说:你不能总扮演一个“救火队长”的角色, 要尝试从系统整体层面思考产生问题的根本原因,然后推进解决。我幡然醒悟
阅读全文
摘要:iBATIS 框架主要的类层次结构 总体来说 iBATIS 的系统结构还是比较简单的,它主要完成两件事情: 根据 JDBC 规范建立与数据库的连接; 通过反射打通 Java 对象与数据库参数交互之间相互转化关系。 iBATIS 的框架结构也是按照这种思想来组织类层次结构的,其实它是一种典型的交互式框
阅读全文
摘要:彻底弄明白之java多线程中的volatile http://www.cnblogs.com/yakun/p/3589437.html 这里还有其他更多的博客可以看,保留博客地址,后续进行查看
阅读全文
摘要:首先volatile是java中关键字用于修饰变量,AtomicReference是并发包java.util.concurrent.atomic下的类。首先volatile作用,当一个变量被定义为volatile之后,看做“程度较轻的 synchronized”,具备两个特性:1.保证此变量对所有线
阅读全文
摘要:概述 还记得大学快毕业的时候要准备找工作了,然后就看各种面试相关的书籍,还记得很多面试书中都说到: HashMap是非线程安全的,HashTable是线程安全的。 那个时候没怎么写Java代码,所以根本就没有听说过ConcurrentHashMap,只知道面试的时候就记住这句话就行了…至于为什么是线
阅读全文
摘要:集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的
阅读全文
摘要:从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。 ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每
阅读全文
摘要:问题来源: 创建一个游戏系统,其将运行在互联网的环境中。客户端通过WWW服务或特定的客户端软件连接到游戏服务器,随着流量的增加,系统不断的膨胀,最终后台数据、业务逻辑被分布式的部署。然而相比中心化的系统,复杂度被无可避免的增大了,该如何降低各个组件之间的耦合度。 挑战: 需要保证可伸缩性、可维护性、
阅读全文
摘要:对于Thrift服务化的改造,主要是客户端,可以从如下几个方面进行: 1.服务端的服务注册,客户端自动发现,无需手工修改配置,这里我们使用zookeeper,但由于zookeeper本身提供的客户端使用较为复杂,因此采用curator-recipes工具类进行处理服务的注册与发现。 2.客户端使用连
阅读全文
摘要:RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。 RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。 RPC 可基于 HTTP
阅读全文
摘要:唯品会RPC服务框架与容器化演进 唯品会RPC服务框架与容器化演进 今天要讲的题目比较热,但也比较“简单”,因为有很多公司大型系统已经在用。我的演讲内容包括两个方面:一个是分布式架构的实践,另外一个是服务体系中容器化怎么做。 分布式服务框架实践 可能大家很多都听过服务化,或者叫微服务,但是这个“微”
阅读全文
摘要:使用命令 (1) losf | grep deleted 查询所有已经删除但是还未释放空间的进程,找到容量最大的线程,kill -9 pid 然后等待容量释放 (2) netstat -ano | grep 端口号 (3) lsof -i :8083 有时候关闭软件后,后台进程死掉,导致端口被占用。
阅读全文
摘要:(1) QC (2) redmine (3) jira (4) bugzilla (5) 禅道 (6) easybug (7) techexcel (8) mantis
阅读全文
摘要:深入了解 HTTP 就绪状态 0:请求未初始化(还没有调用 open()) 1:请求已经建立,但是还没有发送(还没有调用 send()) 2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。 3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。 4:响应已完成;
阅读全文
摘要:(1) uptime 查看系统运行时间、连接数(终端连接数)、平均负载 (2) top 查看CPU、内存、交换空间使用情况,可以看到当前系统性能进程消耗资源情况 (3) vmstat 统计系统CPU、内存、swap、io情况, 例:vmstat 1 4 一秒一次的频率,一共采样4条记录 CPU占用过
阅读全文