## 一、功能
jigsaw-thrift-protobuf模块是jigsaw项目的RPC容器和客户端连接池的实现。目前由于这两个功能耦合度较高,都放在一个项目中实现。
RPC容器,支持:
1. 服务注册: 这个版本是注册到zookeeper上,之后会提供对consul的支持。
2. Spring MVC支持,将thrift service实现映射到Spring Controller上,通过controller的name来locate服务。
客户端提供RPC连接池,支持:
1. 服务发现
2. 负载均衡:在客户端实现。
## 二、技术栈
使用Apache Thrift 作为容器, Google Protocol Buffer 作为输入输出。相对于dubbo、 纯Apache Thrift等RPC容器,优势在于:
1. 高性能,Apache Thrift是已知RPC容器中性能最好的。
2. 传输效率高, Google Protocol Buffer 的压缩率相对Apache Thrift 的strut 结构 可以节省20% 空间。
3. 可扩展性好,得益于Protobuf优越的兼容性设计,对接口参数进行调整时,对老接口仍然可以保持很好的兼容。
这个引擎是对Apache Thrift 的极简轻量级封装,可靠,易于使用。 和Spring 良好集成,易于开发。
## 三、项目结构
.
├── src/main
│ ├── gen # 由rpc_service.thrift自动编译出来的代码
│ │ └── ..
│ ├── org/jigsaw/payment/rpc
│ │ ├── register # 服务注册
│ │ ├── server # 服务器端的实现框架
│ │ └── sharder # 客户端的rpc连接池
│ └── resources
│ ├── META-INF
│ │ └── srping.factories
│ └── rpc_service.thrif
├── CHANGELOG.md
├── jigsaw-thrift-protobuf.iml
├── pom.xm
└── README.md
## 四、关联模块
这两个模块是用来测试这个模块的服务端和客户端
jigsaw-rpc-example-client
jigsaw-rpc-example-server
## 五、Docker支持
这个模块输出的docker是其他rpc模块的base image,注意:
1. 这个image是基于centos来构建的。
2. 预装oracle server jre。
注意:
**这个版本支持jdk1.8.0_152版本,必须先下载这个版本,并解压缩后,放到src/main/docker下,目录为 src/main/docker/jdk1.8.0_152**
TODO:
1. 进一步优化base image, 删除不必要的模块。
2. 增加监控和日志收集组件。
## TODO
|No.|功能|负责人|github 账号|
|---------|---------|---------|---------|
|1|需要支持consul作为服务注册中心|梁燕东|liangyd1024|
|2|server注册到注册中心时,需要申明自己的能力,也就是可以承受的QPS|泽西||
|3|支持json/http访问内部服务|杜雷|Tony-dulei|
|4|追加失败策|yifeng|yifeng0898|
|5|Mock返回功能server|待定||
|6|支持按照服务器端的能力进行分片访问|待定||
## Finished
1. 使用zookeeper作为服务注册中心。
2. 支持简单的轮询式分片访问。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
支付系统-使用Java开发的面向互联网商户的支付系统-优质项目实战-系统设计.zip (370个子文件)
app.log.2017-12-29_23 17KB
start.cmd 2KB
start.cmd 0B
start.cmd 0B
Dockerfile 529B
Dockerfile 339B
Dockerfile 339B
Dockerfile 339B
Dockerfile 70B
Dockerfile 59B
spring.factories 132B
spring.factories 132B
spring.factories 128B
spring.factories 123B
MemberService.java 118KB
Hello.java 118KB
Hello.java 118KB
Account.java 93KB
User.java 87KB
Customer.java 66KB
Channel.java 65KB
Company.java 61KB
JsonFormat.java 57KB
User_Payment_Password.java 56KB
User_Login_Password.java 56KB
BaseService.java 49KB
XmlFormat.java 46KB
JavaPropsFormat.java 41KB
ColumnFieldOption.java 26KB
ColumnFieldOption.java 26KB
ColumnFieldOption.java 26KB
ColumnFieldOption.java 26KB
ColumnFieldOption.java 26KB
XmlJavaxFormat.java 25KB
HtmlFormat.java 24KB
JsonJacksonFormat.java 22KB
TableMessageOption.java 21KB
TableMessageOption.java 21KB
TableMessageOption.java 21KB
TableMessageOption.java 21KB
TableMessageOption.java 21KB
StatusCode.java 19KB
UserException.java 16KB
SystemException.java 16KB
TextUtils.java 16KB
NotFoundException.java 16KB
RedisTemplate.java 13KB
AbstractTransportPool.java 13KB
JdbcProtobufTemplate.java 12KB
Entity.java 11KB
TProtobufProcessor.java 8KB
InstallCert.java 8KB
BasicQosTransportPool.java 8KB
UserOrBuilder.java 8KB
RefreshableTransportPool.java 7KB
BasicTransportPool.java 7KB
AccountOrBuilder.java 7KB
HelloServerConfig.java 7KB
RpcServerConfiguration.java 6KB
ChannelOrBuilder.java 6KB
Taglib.java 6KB
Taglib.java 6KB
Taglib.java 6KB
Taglib.java 6KB
Taglib.java 6KB
Enums.java 6KB
Entity.java 5KB
GenerateAccountIdController.java 5KB
CompanyOrBuilder.java 5KB
ProtobufFormatter.java 5KB
TimerAspect.java 5KB
CustomerOrBuilder.java 5KB
User_Payment_PasswordOrBuilder.java 4KB
User_Login_PasswordOrBuilder.java 4KB
AccountTitle.java 4KB
ServerRunner.java 4KB
TTransportWrapper.java 4KB
RpcServiceClient.java 4KB
IpPortResolver.java 4KB
GeneratePayOrderIdController.java 4KB
JsonSerializer.java 4KB
HelloClientConfig.java 4KB
HelloClientConfig.java 4KB
EntityType.java 4KB
Entity.java 3KB
ColumnType.java 3KB
ColumnType.java 3KB
ColumnType.java 3KB
ColumnType.java 3KB
ColumnType.java 3KB
FeeUnit.java 3KB
CouchDBFormat.java 3KB
MySQLPaymentSharder.java 3KB
HexUtils.java 3KB
AbstractCharBasedFormatter.java 3KB
MySQLShardingContractAccountRepository.java 3KB
TestConfiguration.java 3KB
MySQLShardingAccountRepository.java 3KB
TestGenerateAccountIdController.java 3KB
RpcPayload.java 3KB
共 370 条
- 1
- 2
- 3
- 4
资源评论
极智视界
- 粉丝: 2w+
- 资源: 1459
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功