1 iteye_19607

尚未进行身份认证

暂无相关简介

等级
TA的排名 23w+

Redis客户端简单封装(spring)

    Jedis客户端已经比较易用了,不过在spring环境下,可能还需要简单的封装一下。一、单节点Redis服务使用    即只有一个Redis server,或者在M-S模式下,只有Master提供读写服务时使用,配置中指定Master的IP和Port即可。此处使用了Spring FactoryBean方式来创建JedisPool实例。    1、SingletonClient...

2017-04-28 12:27:33

Flume基本特性(1.7)

    Apache Flume是一个分布式的、可靠的、高效的日志数据收集组件;我们通常使用Flume将分散在集群中多个Servers的log文件,汇集到中央式的数据平台中,以解决“从离散的日志文件中查看、统计数据困难”的问题。当然,Flume不仅仅可以收集log文件,它也支持比如TCP、UDP等消息数据的收集;无论如何,我们最终解决的问题就是“将离散的数据进行收集”。我们先描述几个概念:...

2017-03-27 11:36:39

JAVA正则表达式过滤文件

    正则表达式过滤文件列表,听起来简单,如果用java实现,还真需要一番周折,本文简析2种方式 1、适用于路径确定,文件名时正则表达式的情况(jdk6的写法)String filePattern = "/data/logs/.+\\.log";File f = new File(filePattern);File parentDir = f.getParentFile()...

2017-02-14 11:12:54

nginx/tomcat日志格式规范

    最近准备设计和开发一套日志收集平台,进而后续进行实时的日志分析、业务监控和预警等。在此之前,需要制定日志的格式规范,当然还有其他的约束性规范,才能良好的实现日志搜集、数据分拣、数据分析等特性。     制定日志格式规范的方式与目的:    1)所有项目,日志格式统一,可以极大的简化日志收集和分析的复杂度。    2)nginx、tomcat等日志格式,需要合理,让日志查...

2017-01-12 21:13:02

JAVA执行Shell命令

    基于JAVA执行shell指令,通常的代码范例为:Process process = Runtime.getRuntime().exec("jps -v");BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));while (true) { ...

2017-01-11 23:34:10

logback日志与MDC机制

  logback是个比较好用的java日志输出工具包,可配置型高,而且性能优秀。 一、Layout描述1、%logger{length}、%c{length}、%lo{length}:在日志事件的源点输出logger的名称,比如  1)LoggerFactory.getLogger(TestMain.class),此时%logger的值为“com.xxx.TestMa...

2016-12-16 14:48:42

《架构与未来》摘要(三)

《确立架构原则》(特别推荐)    1、目标和原则    目标树的主题是:在降低成本基础上创造更多的盈利机会和更大的收入。这一主题可以进一步分解为:质量(体现在错误率和故障级别、测试覆盖率等)、可用性(服务的可用时间,SLA)、成本(软硬件投入、团队规模等)、市场响应时间(体现在SLA、发布时效性、自动化水平)、效率(需求迭代与人员投入时间比、自动化水平等)    理想情况下,架构...

2016-12-13 16:43:37

《架构与未来》摘要(二)

一、    管理和领导有许多区别,但两者都很重要。如果领导是承诺,那么管理就是行动。如果领导是目的地,那么管理就是方向。如果领导是激励,那么管理就是动机。如果领导是拉力,那么管理就是推力。     管理包括度量活动、目标评估、指标制订。    因此,在AKF我们实践了5-95规则:即用5%的时间制订一个充足、保守和详细的计划,同时承认这个计划不是完备的,把其余95%的时间投入到...

2016-12-12 22:04:05

《架构与未来》摘要(一)

一、    根据我们的经验,与扩展性有关的事故也遵循着同一规律。首席技术官(CTO)或者负责系统平台扩展性的高管也许把扩展性当成一个纯技术性的计划。这种理解纯粹是人为的失败,也是错误链上的第一个失败点。因为CTO过于聚焦技术,所以他没能清楚地定义必要的流程,以确定扩展性的瓶颈,这事第二个失败点。因为没有人在架构上寻找和定位瓶颈点与堵塞处,所以当用户数或者交易笔数超过某个限额的时候,整个系统...

2016-12-07 15:05:03

《架构漫谈》摘要

一、“Architecture is like teenage sex,everybody talks about it,nobody really knows what is it.”     “Architecture is both the process and the product of planning,designing,and constructing buildings...

2016-12-01 19:59:17

《架构师》期刊摘要(2016年)三

一、我对架构师职责定义如下:    1)以工程思维全面理解业务需求    2)基于模型和基础模式抽象简化    3)提出恰当可行的整体解决方案    4)在限定资源范围完成明确目标    5)满足业务需求且保证系统质量        架构师的责任心很重要,因为架构方面工作往往处于重要但不紧急的尴尬境地,如果架构师在这方面自己不重视,那还怎么能做好呢?当然,要是只关注技...

2016-12-01 17:22:14

《架构师》期刊摘要(2016年)二

一、    1、分层架构    分层架构是最常用的架构,也被称为n层架构;多年来,许多企业和公司都在他们的项目中使用这种架构,它已经几乎称为事实标准,因此被大多数架构师、开发者、软件设计者所熟知。    分层架构中的核心概念是管理依赖。如果我们使用依赖倒置原则和测试驱动开发(Test Driven Development),我们的架构会有更好的健壮性。因为,我们要保证所有可能的用例...

2016-11-28 12:54:41

《架构师》期刊摘要(2016年)一

一、《软件设计精要与模式》作者张逸在接收InfoQ采访时曾说:“评价一个架构的优劣方法之一是,把每个功能、非功能的因素扩大化,再看这个架构会不会出问题。”(本人赞同此说法)他的观点是说,架构设计要面向业务未来,而未来是不断发展的。架构不仅要承载业务的增长,还要兼顾技术发展的趋势。《前言》(2016年6月) 二、我想任何人做架构多需要秉承“业务需求决定技术演化路线”的思路,那些暴露出...

2016-11-27 20:35:06

Flume + kafka + HDFS构建日志采集系统

    Flume是一个非常优秀日志采集组件,类似于logstash,我们通常将Flume作为agent部署在application server上,用于收集本地的日志文件,并将日志转存到HDFS、kafka等数据平台中;关于Flume的原理和特性,我们稍后详解,本文只简述如何构建使用Flume + kafka + HDFS构建一套日志采集系统。    1)Flume:作为agent部署在...

2016-11-25 22:13:56

nginx线程池模式探讨

    nginx的IO模型其实大家应该有所了解,简单而言,就是一个master进程和多个worker进程(进程数由配置决定),master进程负责accept请求并队列化,最后转发给worker进程并由其进行处理请求和响应的整个过程。不过,这是进程层面,每个进程单线程处理。nginx在1.7.11版本提供了多线程特性(multi-threading),不过这个多线程仅用在aio模型(IO模型...

2016-11-12 17:23:22

《架构师》期刊摘要(2015年)三

一、微服务解决我们哪些痛点呢?    1)技术架构、平台升级难:传统的单体式架构系统倾向于采用统一的技术平台或者方案解决所有的问题;而微服务的异构性,可以针对不同的业务特征选择不同的技术方案,有针对性的解决具体的业务问题。    对于单体式架构系统,初始的技术选型严格限制将来采用的不同语言或者框架的能力,没有完备的功能测试集,很难平滑的完成替换,而且系统规模越大,风险越高。基于微服务架...

2016-11-06 19:35:43

《架构师》期刊摘要(2015年)二

一、一个优秀的设计过程或者方法论定义了一组一致的、可以重复的步骤,可以在将一个服务端服务组件输出为一个可访问的、有用的WEB API时使用。那就是说,一个清晰的方法论可以由开发人员、设计师和软件架构师共享,以便在整个实现周期内帮助大家协同活动。一个成熟的方法论还可以随着时间的发展,随着每个团队不断发现改善和精简过程的方式而得到精炼,却不会对实现细节产生不利的影响。    1、列出所有组成部...

2016-11-05 19:38:44

《架构师》期刊摘要(2015年)一

一、架构应该是从简单到复杂,不断演变的一个过程。工程师思维驱动人们去开发一个理想化的系统。然而最好的架构却通常不是最理想的架构,而是最适合的架构。我们见过许多因为过度的架构设计而浪费宝贵的时间的案例,更有甚者因为过多不切实际的假想而导致架构迟迟无法落定,这种现象的术语描述,叫做“分析瘫痪”。    所以优秀的架构应该结合业务目标,在权衡之中寻求一个最优的点。 二、分布式系统在扩展性...

2016-11-04 15:01:12

《架构师》期刊摘要(2014年)

1、WikiPedia上说“DevOps是软件开发、运维和质量保证三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一个集合。它是人们为了及时生产软件产品或服务,以满足某个业务目标,对开发和运维之间相互依存关系的一种新的理解。”这恰好体现了精益管理中的客户价值原则,即:客户的关键来确定企业从设计到生产交付的全部过程,实现客户需求的最大满足。我们也可以把DevOps看作是一种能力,在缺乏这...

2016-10-26 11:33:34

Maven+Nexus进行SCM发布

    对于java的一些公用依赖包,我们通常需要发布在私有的nexus平台中,以便其他项目组使用。    1)我们首先需要搭建自己的nexus平台。    2)用户授权,指定用户具有release权限。    3)调整maven中的setting.xml文件。    4)调整project中的pom.xml文件。 1、setting.xml配置样例: <...

2016-10-25 16:10:55

查看更多

勋章 我的勋章
    暂无奖章