【1】JMicro微服务-RPC体验】的更多相关文章

如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl JMICRO运行简单服务提供者和消费者 1. 下载源代码 git checkout https://github.com/mynewworldyyl/jmicro.git 也可以直接在Github上直接下载源码解压到某个目录 2. 构建JMicro全部依赖包进入到下载的源码目录,执行如下命令: maven clean install 3. 启动Zookeeper,端口保持默认值2181 参考:https://zookee…
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 往下看前,建议完成前面1到12小节 1. 微服务中ID地位 如果说前面小节的功能点是微服务的大脑,那么全局唯一ID则是微服务的神经系统,没有ID这个神经系统,再强的大脑也白搭,只有有了这个神经系统,才能有效协调整个微服务系统的正常工作,才不会出现神经错乱.就好像两个或多个人的身份证号码相同,则依赖于这个身份证号唯一性的系统就无法正常工作(无法为具有相同身份证号的这些人服务). JMicro中,消息是微服务之间通讯最基本单…
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 往下看前,建议完成前面1到11小节 1. CuratorFramework支持 JMicro目前基于Zookeeper实现统一配置和服务注册两个微服务核心功能. 应用中可以直接使用org.apache.curator.framework.CuratorFramework操作ZK,获取CuratorFramework实例方式如下: @Inject private CuratorFramework curator; 通过Cu…
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 往下看前,建议完成前面1到10小节 JMicro目前仅支持基于Zookeeper做配置管理,全部配置信息可以在ZK做增删改查,建议通过ZKUI做对配置做日常管理,非常方便( [8]JMicro微服务-JMicro ZKUI) 1. 使用 应用中只需要通过Cfg注解即可使用配置,如 @Cfg("/defaultLimiterName") private String name; @Cfg(value="…
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 1. 首先完成 JMicro微服务-RPC体验 的1到5步. 按默认方式启动ZK及Redis: JDK需要Java8及以上. 2.建立Maven Java项目,如下图 2.1 jmicro.example.api公共接口项目代码 在pom.xml增加如下依赖 <dependency> <groupId>org.jmicro</groupId> <artifactId>jmicro.a…
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 往下看前,建议完成前面1到9小节 1. Api网关基本特性: Api网关作为对外网提供服务的基本入口,地位类似于NGINX,在微服务中一个重要组成部分; Api网关需要支持如下几个最基本功能: a. 各种通讯协议接入,如HTTP,Socket,WebSocket: b. 如种语言客户端API,如JS,NodeJS,GO,C#,Java等: c. 负载均衡,为客户端请求在网关入口选择一个最合适的服务: d. 接口安全鉴权,…
ZKUI是一个开源项目,是一个查看,修改ZK数据非常方便的工具.JMicro基于ZK做服务治理,配置管理,因此使用ZKUI会提供非常大的方便. Github地址:https://github.com/DeemOpen/zkui 上面有非常细的使用说明. 如下是Jmicro根目录内容,其中JMICRO是系统保留使用的根目录,不建议在应用中使用 JMICRO目录下每个目录代表目前系统实现的各主要功能. jmicro/JMICRO/services 每一行代表一个服务运行实例,如图红框代表在55535…
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 接下来的内容都基于[2]JMicro微服务-Hello World做Demo 微服务中,超时和重试是一个最基本问题下面Demo JMicro如何实现. @Service(maxSpeed=-1,baseTimeUnit=Constants.TIME_SECONDS) @Component public class SimpleRpcImpl implements ISimpleRpc { @Override @SMeth…
JMicro是本人开发的基于Java实现的微服务框架,当前正式版本为0.0.3,并已发布到maven中央仓库.项目源码github:https://github.com/mynewworldyyl/jmicro,Demo源码:https://github.com/mynewworldyyl/jmicro_demos/tree/0.0.3-releaseMaven地址:https://mvnrepository.com/search?q=cn.jmicroDemo:http://jmicro.cn…
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl   1. 微服务相关 在前面的1到5节中,总共涉及服务提供者,服务消费者,服务监听服务,发布订阅服务,熔断器服务5种类型的猪微服务,每种类型服务又可以在任何一台机器上“随意”启动N个运行实例,每个RPC请求从初始触发客户端开始,中间可能经过N个微服务,然后从这N个经过的微服务返回,中间任何一个环节都可能出问题,或者某个环节耗费过长时间,这时候不可能从这N个微服务所在机器上查看log,况且找到这N个微服务所在机器都不可能.…