Coder Social home page Coder Social logo

kongzhongfinance / mrpc Goto Github PK

View Code? Open in Web Editor NEW
128.0 17.0 43.0 40.5 MB

🐿 netty,zookeeper,spring,kyro rpc framework.

Home Page: https://KongzhongFinance.github.io/mrpc

Java 18.36% JavaScript 50.50% CSS 23.31% HTML 6.67% CoffeeScript 0.03% Shell 0.04% Python 1.09%
rpc zookeeper netty mirco-rpc kryo protobuf metrics influxdb spring-boot trace

mrpc's Introduction

mrpc

mrpc是一款简洁易用的分布式服务化治理框架。

特性

  • 调用透明,像调用本地方法一样使用RPC服务
  • 高性能
  • 支持分布式,基于 Zookeeper 的服务注册和发现
  • 完美集成 Spring/SpringBoot 项目
  • HTTP传输协议
  • 多种负载均衡策略
  • 集群下的容错处理(FailOver/FailFast)
  • 拦截器处理, 插件式扩展
  • 客户端自动恢复
  • 动态注册/卸载服务
  • Admin后台动态修改配置
  • 秒级监控,使用 statsd-influxdb-grafana 打点
  • 服务调用链查看

快速入门

文档

更多例子

这里有更多的使用案例。

更新日志

0.1.8.RELEASE

  1. 支持 Optional 类型

0.1.1-SNAPSHOT

  1. 支持接口自定义 appId
  2. 支持配置业务线程池大小

0.1.0-SNAPSHOT

  1. 简化异常处理
  2. 添加最少连接负载策略
  3. 添加Admin后台
  4. 添加服务降级、熔断

0.0.9-SNAPSHOT

  1. 重新本地服务缓存实现
  2. 添加服务端定时推送数据到 admin
  3. 支持自动发现本地IP
  4. 支持无序启动服务
  5. 添加客户端定时 ping 功能

0.0.8-SNAPSHOT

  1. 客户端断线自动重连
  2. 允许跳过启动绑定服务
  3. 允许自定义异常
  4. 支持方法级别的高可用策略配置
  5. 修复本地服务缓存bug

0.0.7-SNAPSHOT (2017/06/22)

  1. 增加多注册中心配置
  2. 增加单个服务更小粒度配置
  3. 增加直连服务选项
  4. 修复方法泛型入参/返回值
  5. 客户端增加拦截器
  6. 增加 mrpc sehema 配置项

mrpc's People

Contributors

hellokaton avatar ift8 avatar powerzhuye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mrpc's Issues

重复调用出现 Service Not Found

mrpc第二次 或第三次调用 就会出现handler被回收的情况导致调用失败

ERROR com.kongzhong.mrpc.client.cluster.ha.FailOverHaStrategy [qtp477831493-17] [7861920117042501607|1497874809616] #ELK#  com.kongzhong.mrpc.exception.RpcException: Service [com.kongzhong.finance.licai.tradeservice.api.service.InvestOrderService] not found.
	at com.kongzhong.mrpc.client.cluster.loadblance.SimpleLoadBalance.getInvoker(SimpleLoadBalance.java:40)
	at com.kongzhong.mrpc.client.cluster.ha.FailOverHaStrategy.call(FailOverHaStrategy.java:31)
	at com.kongzhong.mrpc.client.proxy.SimpleClientProxy.handleInvocation(SimpleClientProxy.java:39)

没有找到注册的服务会抛空指针,希望能改成更明确的提示

Bind rpc service [com.kongzhong.finance.paydayloan.loan.service.RepaymentRenewalService] error java.lang.NullPointerException: null
	at com.kongzhong.mrpc.client.SimpleRpcClient.initReferer(SimpleRpcClient.java:246)
	at com.kongzhong.mrpc.springboot.client.BootRpcClient.lambda$postProcessBeanFactory$2(BootRpcClient.java:87)
	at java.util.ArrayList.forEach(ArrayList.java:1249)
	at com.kongzhong.mrpc.springboot.client.BootRpcClient.postProcessBeanFactory(BootRpcClient.java:87)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:281)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:125)
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
	at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134)

同是客户端和服务端时的问题

问题

服务端收到一个请求,该请求尚未执行完毕(未返回结果给调用方),执行了 kill 命令关闭进程。

结果

收到的请求未执行完毕。

期望

服务端执行完毕请求后退出。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.