一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种微服务编码方法与流程

2022-07-30 20:24:18 来源:中国专利 TAG:


1.本发明涉及微服务领域,特别涉及一种微服务编码方法。


背景技术:

2.微服务是由一组小服务组成,服务之间互相协调、互相配合,每个服务运行于独立的进程,服务和服务间采用轻量级的网络通信协议。随着微服务在互联网行业的广泛使用,因业务越来越复杂,往往需要数百甚至上千个微服务协作,微服务的调用链路和深度不断增加。若某个微服务返回的错误码,又通过上层的微服务返回给用户,往往难以根据错误码判断具体哪个服务出现故障,要从数百上千个服务中定位到返回错误码的服务非常困难。
3.基于此,本发明公开了一种微服务编码方法,能根据错误码快捷找到发生问题的服务,以及该服务发生故障的消息。


技术实现要素:

4.本发明要解决的技术问题是克服现有技术的缺陷,提供一种微服务编码方法。
5.本发明提供了如下的技术方案:
6.本发明提供一种微服务编码方法,包括以下步骤:
7.s1、分配微服务的领域号:
8.每一个微服务限定只能属于某一个业务领域,一个业务领域包含一组相关联的微服务;具体业务领域可分为登录、支付、退款、客诉、活动、结算、营销等;对每一个业务领域分配一个领域号,领域号是一个正整数,正整数取值范围为[0,99],共有100个业务领域号,领域号记作a;
[0009]
s2、分配微服务的服务号:
[0010]
对每一个不同的微服务分配一个惟一的整数作为服务号,该惟一的整数表示这个微服务,整数最多是5个数字,取值范围为[0,99999],系统最多支持100000个不同的微服务;服务号的前2位数字是领域号a,后3位数字是在该领域内的第几个服务,记作服务编号b;可由服务号确定该服务的所属领域;
[0011]
如服务号0,表示领域号a=0,服务编号b=0;服务号2010,表示领域号a=2,服务编号b=10;同样的,服务号89721,表示领域号a=89,服务编号b=721;
[0012]
s3、分配微服务的消息号:
[0013]
微服务的设计原则是小,限制每一个微服务最多含有100个不同的消息,超过100个消息的微服务应把消息拆分到多个微服务;消息号最多是7位正整数,消息号为该微服务的服务号加上消息编号,消息编号取值范围为[0,99],消息编号记作c;如消息号201002,表示领域号a=2,服务编号b=10,消息编号c=2;同样的,消息号8972156,表示领域号a=89,服务编号b=721,消息编号c=56;
[0014]
s4、分配微服务的消息的错误码:
[0015]
对于每一个消息,限制错误码的数量为99个,错误编码范围为[1,99],错误编号记
作d,错误码编码为最多9位的负整数;错误码为该消息的消息号加上错误编号,然后取负;如错误码-20100217,表示领域号a=2,服务编号b=10,消息编号c=2,错误编号d=17;同样的,错误码-897215635,表示领域号a=89,服务编号b=721,消息编号c=56,错误编号d=35;
[0016]
s5、根据错误码定位发生错误的领域、服务和消息:
[0017]
对2种场景可以定位到发生错误的服务和消息,包括以下:
[0018]
(1)对于客户端调用服务端消息,服务端返回给客户端错误码的场景,客户端可根据此错误码-{a}{b}{c}{d}定位到具体错误的领域a、服务b、消息c;
[0019]
(2)对于调用方服务端调用提供方服务端消息,提供方服务端返回给调用方服务端错误码的场景,调用方服务端可根据此错误码-{a}{b}{c}{d}定位到具体错误的领域a、服务b、消息c。
[0020]
与现有技术相比,本发明的有益效果如下:
[0021]
本发明提供了一种微服务编码方法解决大量微服务协同工作场景下故障难以精准定位的问题,该方法通过对领域、服务、消息进行抽象编码,然后错误码编码含有领域、服务、消息信息,使得错误码能精准的表达这三者的含义,该方法能提高错误定位和排查效率;与现有的技术方法对比,显著提升了排查效率和降低了排查复杂度;
[0022]
综上,本发明能够解决微服务系统中错误定位困难的问题,同时采用微服务编码的方法对微服务的相关领域、服务、消息、错误码进行抽象并分配惟一编号,简化了复杂场景下微服务的治理。
附图说明
[0023]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0024]
图1是本发明的步骤流程图。
具体实施方式
[0025]
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。其中附图中相同的标号全部指的是相同的部件。
[0026]
实施例1
[0027]
如图1,本发明提供一种微服务编码方法,包括以下步骤:
[0028]
s1、分配微服务的领域号:
[0029]
每一个微服务限定只能属于某一个业务领域,一个业务领域包含一组相关联的微服务;具体业务领域可分为登录、支付、退款、客诉、活动、结算、营销等;对每一个业务领域分配一个领域号,领域号是一个正整数,正整数取值范围为[0,99],共有100个业务领域号,领域号记作a;
[0030]
s2、分配微服务的服务号:
[0031]
对每一个不同的微服务分配一个惟一的整数作为服务号,该惟一的整数表示这个微服务,整数最多是5个数字,取值范围为[0,99999],系统最多支持100000个不同的微服
务;服务号的前2位数字是领域号a,后3位数字是在该领域内的第几个服务,记作服务编号b;可由服务号确定该服务的所属领域;
[0032]
如服务号0,表示领域号a=0,服务编号b=0;服务号2010,表示领域号a=2,服务编号b=10;同样的,服务号89721,表示领域号a=89,服务编号b=721;
[0033]
s3、分配微服务的消息号:
[0034]
微服务的设计原则是小,限制每一个微服务最多含有100个不同的消息,超过100个消息的微服务应把消息拆分到多个微服务;消息号最多是7位正整数,消息号为该微服务的服务号加上消息编号,消息编号取值范围为[0,99],消息编号记作c;如消息号201002,表示领域号a=2,服务编号b=10,消息编号c=2;同样的,消息号8972156,表示领域号a=89,服务编号b=721,消息编号c=56;
[0035]
s4、分配微服务的消息的错误码:
[0036]
对于每一个消息,限制错误码的数量为99个,错误编码范围为[1,99],错误编号记作d,错误码编码为最多9位的负整数;错误码为该消息的消息号加上错误编号,然后取负;如错误码-20100217,表示领域号a=2,服务编号b=10,消息编号c=2,错误编号d=17;同样的,错误码-897215635,表示领域号a=89,服务编号b=721,消息编号c=56,错误编号d=35;
[0037]
s5、根据错误码定位发生错误的领域、服务和消息:
[0038]
对2种场景可以定位到发生错误的服务和消息,包括以下:
[0039]
(1)对于客户端调用服务端消息,服务端返回给客户端错误码的场景,客户端可根据此错误码-{a}{b}{c}{d}定位到具体错误的领域a、服务b、消息c;
[0040]
(2)对于调用方服务端调用提供方服务端消息,提供方服务端返回给调用方服务端错误码的场景,调用方服务端可根据此错误码-{a}{b}{c}{d}定位到具体错误的领域a、服务b、消息c。
[0041]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献