一,为什么写JMicro 印象中初次接触微服务大概是2011年,那会做Eclpise插件开发,网上查看好多关于OSGI的技术文章,发现Spring新出了一个叫Spring-boot的框架,那会没太上心,只是了解了点皮毛,工作又太忙,之后就没下文了. 直到大概2015年的某天,碰到一个小项目,没什么难度,都用老套路去玩,没什么意思,得玩点新东西才行,也不枉一翻付出,于是选择用GO语言实现,选择GO主要是想体验一下GO,看是不是真如传说中的那样无敌.经过一翻折腾,最终确定GOGIN+GOMICRO实…
如非授权,禁止用于商业用途,转载请注明出处作者: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…
微服务架构介绍和RPC框架对比 1.微服务架构 1.1 特征 自动化部署,端点智能化,语言和数据的去中心化控制. 1.2架构 一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API).可通过全自动部署机制独立部署,共用一个最小型的集中式的管理.服务可用不同的语言开发,使用不同的数据存储技术. 去中心化基础设施 去中心化数据库 1.3微服务设计模式 聚合式(推荐) 代理(推荐) 链式 分支 异步消息 1.4微服务实现 1.…
导读:本文主要探讨了rpc框架在微服务化中所处的位置,需要解决的问题.同时介绍了用友云微服务治理平台的rpc解决方案,为什么选择该方案.该方案提供的好处是什么.同时也会介绍用友RPC框架的基本结构以及在实现时所用到的一些关键技术.希望通过本文读者能够一窥用友rpc框架的原理,并藉此开发出更优秀的微服务应用.一.rpc在微服务中的重要性 随着越来越多的公司向着互联网方向转型,服务化这个概念已经深入人心.而rpc框架无疑是微服务中的重要一环.rpc框架的基本功能是将远程调用模拟成本地调用.调用本地函…
远程服务调用RPC框架介绍,微服务架构介绍和RPC框架对比,dubbo.SpringClound对比 远程服务调用RPC框架介绍,RPC简单的来说就是像调用本地服务一样调用远程服务. 分布式RPC需要解决哪些问题呢? protocol:传输协议 proxy:client代理,服务引用方调用方法通过代理发送远程消息 codec:协议编解码压缩等 transport:协议传输 registry:注册中心,服务注册服务发现 cluster:负载均衡,服务容错策略 其他:服务降级,服务隔离,服务治理 -…
如非授权,禁止用于商业用途,转载请注明出处作者: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…