System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种快速多租户的web应用环境的实现方法技术_技高网

一种快速多租户的web应用环境的实现方法技术

技术编号:41010906 阅读:11 留言:0更新日期:2024-04-18 21:47
本发明专利技术公开了一种快速多租户的web应用环境的实现方法,涉及IT服务器技术领域,根据应用目录的结构,将多个应用的发布包按照应用id,版本进行存放;在运行时,启动指定应用id,指定版本的应用包;在启动时,应用环境ketty为不同的应用实例自动选择服务端口,并将服务信息注册到ZooKeeper目录中,用于服务发现和负载均衡,实现集群多租户;本发明专利技术在遵循Java标准,可运行标准的jar/war包的容器的基础上,支持通过启动命令实现一个应用可以部署多个实例,支持可以动态配置服务端口,支持快速部署一个应用集群,实现应用集群化,服务负载均衡化;本发明专利技术能当一个通用的Java Servlet容器,运行jar/war包;能实现应用多版本部署、灰度发布等,提供集群管理模式。

【技术实现步骤摘要】

本专利技术属于it服务器,尤其涉及一种快速多租户的web应用环境的实现方法


技术介绍

1、多租户技术是一种软件架构技术,它可以实现在共用的数据中心内,以单一系统架构与服务给多个客户端提供相同服务,甚至可定制化的服务,并且仍然可以保障客户的数据隔离。

2、随着互联网规模的不断增大,多租户技术的使用的范围越来愈大随之而来的一些问题也产生了。多租户架构的应用软件虽可定制,但定制难度较高,通常需要平台层的支持与工具的支持,才可降低定制化的复杂度。

3、目前主流服务器服务器如tomcat,jetty等都不能在一容器中启动一个应用多个实例,也不能很人性化的改动服务端口,因为服务端口需要提前注册到tomcat,jetty的静态配置setting.xml文件中,如果改动则需要该更配置文件,然后重新启动。而应用在配置文件中对应的id必须唯一,这样某种程度上造成一个应用不能起多个实例。

4、随着应用和服务量越来越大,应用集群化的需求越来越迫切,上述tomcat和jetty也不支持构建一个混合的应用集群。


技术实现思路

1、本专利技术所要解决的技术问题是针对
技术介绍
的不足提供一种快速多租户的web应用环境的实现方法;在遵循java标准,可运行标准的jar/war包的容器的基础上,支持通过启动命令实现一个应用可以部署多个实例,支持可以动态配置服务端口,支持快速部署一个应用集群,实现应用集群化,服务负载均衡化。

2、本专利技术为解决上述技术问题采用以下技术方案:

3、一种快速多租户的web应用环境的实现方法,具体包含如下步骤;

4、步骤1,根据应用目录的结构,将多个应用的发布包按照应用id,版本进行存放;

5、步骤2,在运行时,启动指定应用id,指定版本的应用包;

6、步骤3,在启动时,应用环境ketty为不同的应用实例自动选择服务端口,并将服务信息注册到zookeeper目录中,用于服务发现和负载均衡,实现集群多租户。

7、作为本专利技术快速多租户的web应用环境的实现方法的进一步优选方案,在步骤1中,应用目录的结构采用可运行标准的jar/war包。

8、作为本专利技术快速多租户的web应用环境的实现方法的进一步优选方案,在步骤2中,运行流程具体如下:

9、步骤2.1,输入启动命令;

10、步骤2.2,判断port是否为空,如果为空,则服务器按一定规则动态分配一个空闲端口;如果不为空,则使用指定的端口;

11、步骤2.3,判断version是否为空,如果为空则选用.version文件里面指定的版本,如果不为空则用输入命令中指定的版本;

12、步骤2.4,载入3中指定应用的运行包,在指定端口启动该应用;

13、步骤2.5,通过步骤2.1至步骤2.5,实现一个应用部署多个实例,和动态指定应用的服务端口。

14、作为本专利技术快速多租户的web应用环境的实现方法的进一步优选方案,在步骤2.1中,命令包含必须参数app:应用id,可配参数port:端口,version:版本号,labels:标注。

15、作为本专利技术快速多租户的web应用环境的实现方法的进一步优选方案,在步骤3中,搭建集群模式运行,具体如下:

16、步骤3.1,当在ketty中启动一个应用实例的时候,ketty通过armclient会把该实例的相关信息注册到zookeeper中。

17、步骤3.2,当前端接收到服务请求的时候,通过arm了解到之前在zookeeper中注册过的信息,loadbalance agent再根据一定的规则去某个实例访问服务,实现的服务的负载均衡。

18、作为本专利技术快速多租户的web应用环境的实现方法的进一步优选方案,在步骤1中,目录结构包含:alogic-apps:存放jar包顶级目录。

19、作为本专利技术快速多租户的web应用环境的实现方法的进一步优选方案,在步骤1中,目录结构包含:alogic-webapps:存放war包顶级目录。

20、作为本专利技术快速多租户的web应用环境的实现方法的进一步优选方案,在步骤1中,目录结构包含<应用id>:应用id。

21、作为本专利技术快速多租户的web应用环境的实现方法的进一步优选方案,在步骤1中,目录结构包含:.version:记录默认运行版本号。

22、作为本专利技术快速多租户的web应用环境的实现方法的进一步优选方案,在步骤1中,目录结构包含:<应用版本>:版本号,里面存放着对应的应用包。

23、本专利技术采用以上技术方案与现有技术相比,具有以下技术效果:

24、1、本专利技术在遵循java标准,可运行标准的jar/war包的容器的基础上,支持通过启动命令实现一个应用可以部署多个实例,支持可以动态配置服务端口,支持快速部署一个应用集群,实现应用集群化,服务负载均衡化;

25、2、本专利技术提供了针对应用可以部署多个实例,支持各个版本的灰度发布;基于yarn提供弹性,可扩展的运行容器,应用可根据业务需求快速横向扩展或缩减部署规模;

26、3、本专利技术能当一个通用的java servlet容器,运行jar/war包;能实现应用多版本部署、灰度发布等,提供集群管理模式。

本文档来自技高网...

【技术保护点】

1.一种快速多租户的web应用环境的实现方法,其特征在于:具体包含如下步骤;

2.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤1中,应用目录的结构采用可运行标准的jar/war包。

3.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤2中,运行流程具体如下:

4.根据权利要求3所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤2.1中,命令包含必须参数app:应用id,可配参数port:端口,version:版本号,labels:标注。

5.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤3中,搭建集群模式运行,具体如下:

6.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤1中,目录结构包含:alogic-apps:存放jar包顶级目录。

7.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤1中,目录结构包含:alogic-webapps:存放war包顶级目录。

8.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤1中,目录结构包含<应用id>:应用id。

9.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤1中,目录结构包含:.version:记录默认运行版本号。

10.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤1中,目录结构包含:<应用版本>:版本号,里面存放着对应的应用包。

...

【技术特征摘要】

1.一种快速多租户的web应用环境的实现方法,其特征在于:具体包含如下步骤;

2.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤1中,应用目录的结构采用可运行标准的jar/war包。

3.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤2中,运行流程具体如下:

4.根据权利要求3所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤2.1中,命令包含必须参数app:应用id,可配参数port:端口,version:版本号,labels:标注。

5.根据权利要求1所述的快速多租户的web应用环境的实现方法,其特征在于:在步骤3中,搭建集群模式运行,具体如下:

6.根据权利要求1所述的快速多租户的web应用环...

【专利技术属性】
技术研发人员:詹栋才黄创光钟毅李君张杰
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1