7 想家的娃

尚未进行身份认证

我要认证

不急不慌,不毛不躁;直面人生,永不言败。

等级
TA的排名 28w+

由浅入深了解Thrift(二)——Thrift工作原理

相关示例代码见:http://download.csdn.net/detail/hjx_1000/8374829三、  Thrift的工作原理1.普通的本地函数调用过程例如,有如下关于本地函数的调用的Java代码,在函数caller中调用函数getStr获取两个字符串的拼接结果:代码3.1       本地函数调用调用方和被调用方都在

2016-07-14 11:31:17

由浅入深了解Thrift(三)——Thrift server端的几种工作模式分析

相关示例代码见:http://download.csdn.net/detail/hjx_1000/8374829五、  Thrift服务器端几种工作模式分析与总结Thrift为服务器端提供了多种工作模式,本文中将涉及以下5中工作模式:TSimpleServer、TNonblockingServer、THsHaServer、TThreadPoolServer、TThreadedS

2016-07-14 11:29:33

Thrift框架服务端并发处理模式的java示例

项目因为需要对外提供不同语言的接口,所以我们采用了高效、跨语言的RPC框架Thrift。因为用的爽!顺理成章继续沿用,但是这次并不是屡试不爽。项目的Thrift服务端没办法并发请求处理,一直都单线程的将非阻塞的客服端请求one by one的处理,如果请求处理时间长的话,就会出现请求高延时的情况。so bad! 不过XXX,终于XXX!以下就是我学习Thrift API之后找到的解决方案示例。

2016-07-14 10:51:44

thrift-client异步+server非阻塞

1.thrift 下载安装:官网:http://thrift.apache.org/ 上面会最新版的安装下载java mavendependency: org.apache.thrift libthrift 0.9.1 libthrift 的源码下载:git://anonscm.debian.org/users/eevan

2016-07-14 10:27:53

利用thrift实现一个非阻塞带有回调机制的客户端

客户端有时需要非阻塞的去发送请求,给定服务端一个请求,要求其返回一个计算结果。但是客户端不想等待服务端处理完,而是想发送完这个指令后自己去做其他事情,当结果返回时自动的去处理。  比如举个形象点的例子:饭店的Boss让小弟A把本周店里的欠条收集起来放到自己桌子上,然后又告诉自己的小秘书坐在自己办公室等着小弟A把欠条拿过来,然后统计一下一共有多少,然后Boss自己出去半点事儿。  Boss相

2016-07-14 09:07:48

Java中的并发库学习总结

我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死锁等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的

2016-07-12 16:13:02

Dubbo:来自于阿里巴巴的分布式服务框架

Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点Dubbo是一个阿里巴巴开源出来的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含:远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及

2016-07-08 10:41:36

深入浅出 RPC - 深入篇

《深入篇》我们主要围绕 RPC 的功能目标和实现考量去展开,一个基本的 RPC 框架应该提供什么功能,满足什么要求以及如何去实现它?RPC 功能目标RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用,在前文《浅出篇》中给出了一种

2016-07-05 17:57:44

zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee

2016-07-05 15:44:46

struts2异常处理机制-----值栈作用

一、处理一般异常(javaBean异常)    struts2进行异常处理首先需要添加exception拦截器,而默认拦截器栈已经加入了这个拦截器,所以不用特意的声明。在Struts2框架中,采用声明式异常处理方式。在这种方式下,只需要在struts.xml文件中进行配置,Struts2便能够处理异常,并跳转到相应的视图,而在Action中无须编写任何异常处理代码。如果Acti

2016-03-23 11:31:57

Struts2的异常处理机制

Struts2的异常处理机制:任何成熟的MVC框架都应该提供成就的异常处理机制。Strut2也不例外。Struts2提供了一种声明式的异常处理方式。Struts2也是通过配置的拦截器来实现异常处理机制的。Struts2的异常处理机制通过在struts.xml文件中配置﹤exception-mapping …﹥元素完成的,配置该元素时,需要指定两个属性:exception:此

2016-03-16 20:35:11

Struts2拦截器实现异常处理机制

Struts2拦截器实现异常处理机制  在j2ee项目中,系统内部难免会出现一些异常,如果把异常放任不管直接打印到浏览器可能会让用户感觉莫名其妙,也有可能让某些用户找到破解系统的方法。 所以不要在页面上输出错误信息,使用log日志的方式处理异常并记录异常。就拿struts2+hibernate+spring项目说明:通常一个页面请求到后台以后,首先是到action(也就是所谓mvc的con

2016-03-16 20:14:35

struts2拦截器

如何使用struts2拦截器,或者自定义拦截器。特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈defaultStack,如下(这里我是引用了struts2自带的checkbox拦截器):  0(必须加,否则出错)也可以改为对全局Action设置自己需要的拦截器,如下:在struts.xml里面定义全局的配置设置

2016-03-16 10:01:54

springmvc /struts2工作机制

struts2原理  http://www.cnblogs.com/jy02444453/archive/2011/08/27/2155427.htmlStruts2的工作原理 上图来源于Struts2官方站点,是Struts 2 的整体结构。 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如To

2016-03-15 19:35:12

[BAT][JAVA]定时任务之-Quartz使用篇

定时任务之-Quartz使用篇         Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。官方网站:http://www.opensymphon

2016-03-10 14:04:34

Java并发编程:线程池的使用

Java并发编程:线程池的使用  在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任

2016-03-02 11:23:42

Thrift入门及Java实例演示

目录:概述下载配置基本概念数据类型服务端编码基本步骤客户端编码基本步骤数据传输协议实例演示(java) thrift生成代码 实现接口IfaceTSimpleServer服务模型TThreadPoolServer 服务模型TNonblockingServer 服务模型THsHaServer服务模型异步客户端[一]、概述Thrift是一

2016-02-16 13:44:12

Apache Thrift - java开发详解

1、添加依赖 jar org.apache.thrift libthrift 0.8.0 org.slf4j slf4j-log4j12 1.6.12、编写IDL文件 Hello.thriftnamespace java service.demoservice Hello {    string helloString(1:s

2016-02-16 13:38:55
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!