文档章节

CEAMS: 基于Node.js的高效微服务应用开发运维和API管理系统提供免费下载使用

A
 APEMESH
发布于 05/14 21:28
字数 1972
阅读 9
收藏 0

通用企业应用接口管理系统(Common Enterprise Application interface Management System)为用户提供基于Node.js的云端微服务应用开发运维,以及API管理解决方案。

CEAMS为云端微服务应用提供基于浏览器的在线一体化开发、调试、部署、监控管理、访问认证等能力。用户可在CEAMS系统上使用大量方便的云端服务应用的自动化开发和管理功能,例如自动化测试工具、代码和文档生成,零中断时间的一键升级和回滚应用版本,应用代码下载上传、版本比较等方便的功能。

CEAMS系统由系统管理终端、应用开发管理网站及门户、以及高性能应用服务器三部分组成。系统为用户提供基于网页的统一在线应用门户中心,用户可在其中查看系统中部署的各类在线应用,同时提供对应用的分类和检索能力。CEAMS系统提供在线测试、浏览API文档、自动生成调用方接入代码等方便功能。

统一的应用展示中心,用户可从中添加自己需要的服务资源

 

自动生成清晰严谨API文档和API接入端代码,支持基于JSON Schema的数据校验

 

为方便开发,CEAMS系统为用户的云端应用提供统一的API规范,以及基于该规范的HTTP + JSON的API调用接口,可支持各类客户端,例如移动端app,企业后台应用等类型应用的接入。开发云端应用时,用户首先在平台上编辑并生成应用的API规范。CEAMS系统为云端微服务应用提供的统一API规范借鉴了部分UPnP规范的设计,可被看成是一个JSON版的WSDL规范,其中含有应用、应用中的服务列表,以及服务内部各个API的完整描述信息。基于该API规范,平台为应用提供各项方便的自动化能力,例如API文档、客户端接入代码自动生成、应用框架代码自动生成、基于JSON schema的严格数据校验能力、基于JSON schema form表单自动生成的API测试工具、灵活的API数据缓存和限流保护等能力。

 

基于JSON Schema form自动输入表单生成能力的API测试工具

 

在CEAMS系统中,每个应用是一个标准的NPM包,可以对其添加任意开源第三方NPM依赖。在API规范编辑完成后,系统将自动为应用生成应用的框架代码,包含一个NPM包所需要的所有基础文件,以及API实现函数的入口等,开发者只需要编写函数的实现部分代码即可完成开发,而无需关心繁琐的HTTP协议实现,传参方法等。

 

系统为开发者提供了基于Web IDE的线上开发环境,可支持多用户同时在线开发。用户可以在在浏览器中,线上完成应用的开发、调试、和部署,而无需重复代码在本地开发测试,线上部署的繁琐过程。得益于CDIF应用服务器提供的热更新能力,应用从启动调试到完成部署仅需数十秒即可完成。同时,系统也支持在VSCode等流行的IDE中完成应用的线下开发调试,并通过NPM压缩包格式一键上传到系统中并部署。

 

基于浏览器的云端开发环境,支持多人同时在线开发调试,Web Terminal和Node.js REPL

 

系统提供完整的Node.js NPM生态支持(https://www.npmjs.com),用户可自由引用NPM生态中70多万个各类开源包中的任意一个,例如各类工具库、数据库驱动,消息中间件接口等,帮助方便地开发其云端应用和对接到各类异构系统资源。为方便使用,CEAMS系统为用户提供了免费的国内高速NPM镜像,内置了常用的数千个NPM包资源,并可实时自动更新版本和添加更多第三方开源NPM包。同时,系统内置了对各类常用协议,例如对REST API、SOAP等的支持,可帮助应用开发者方便地连接并从其他系统获取应用开发需要的数据和能力。

 

CEAMS系统已支持Node.js最新版本带来的多线程能力。在多线程模式下,每个应用部署于独立的worker线程中,并具备单独的线程上下文和堆空间,执行高CPU占用率任务时不会阻塞其他应用的执行。同时适用于I/O密集型与CPU密集型任务,如API网关和数据计算处理等。CEAMS系统的应用服务器可无缝地随时在传统的单线程和新的多线程模式下切换,对已部署的应用毫无感知。

 

应用服务器同时提供Node.js单线程和多线程运行模式,并可指定扩容实例个数

 

更进一步,基于CDIF应用服务器为应用提供的统一JSON数据接口,在获得相应的应用访问权限后,用户可使用纯粹JSON 数据格式调用系统中部署的其他应用,而不需要增加REST API特有的与HTTP相关的代码(例如GET, POST,传参方法等等),通过灵活地组织和处理来自不同应用的JSON 数据,并使用lodash、JSON path等高效的数据转换和查询工具,配合async等异步并发流程控制组件,组织出复杂、高性能的组合微服务应用逻辑和工作流程场景。

为帮助用户使用,CEAMS系统封装了Node.js多线程API,为不同应用线程之间的数据相互调用提供了高性能的异步消息接口,并且在单线程模式和多线程模式下完全统一。用户无需理解和使用繁杂的Node.js多线程API,或基于Cluster的多进程模型。只需要在应用的任何位置添加几行代码,创建对任意服务应用的客户端对象,并根据该服务应用提供的JSON API规范,即可完成和该服务应用之间的数据对接。

CEAMS系统已被成功应用于国内省级警务云平台建设,以及其他多个政企项目中,并稳定运行至今。我们在期间从未收到过一次故障崩溃报告。

目前,我们已为CEAMS系统已提供社区版免费下载,社区版包含了系统的全部功能,可以满足中小规模应用场景。用户可以通过bash安装脚本,在常用的Linux操作系统上一键下载、安装和启动整个系统。以下是CEAMS产品的下载连接,其中包含了系统的下载安装方法、用户手册、开发指南等文档:

 

https://www.apemesh.com/cn/downloadwww.apemesh.com

 

如果您对CEAMS系统的使用有任何问题,欢迎您邮件至:support@apemesh.com,或者加入灵长科技技术支持QQ群:618450152 向我们询问和了解。

© 著作权归作者所有

A
粉丝 0
博文 26
码字总数 48275
作品 0
闵行
部门经理
私信 提问
使用 Node.js 搭建一个 API 网关

原文地址:Building an API Gateway using Node.js 外部客户端访问微服务架构中的服务时,服务端会对认证和传输有一些常见的要求。API 网关提供共享层来处理服务协议之间的差异,并满足特定客...

牧云云
2017/08/15
0
0
【重磅】Docker企业级管理平台开放下载,免费使用

云帮是什么? 云帮是一款基于容器技术的(应用管理/Docker管理/高效运维)PaaS平台。社区版针对个人、企业完全免费,您可以自由的下载与传播,但需要遵循我们的社区版协议。 云帮从哪里来? 云...

cloudbang
2016/09/01
1K
6
释放开发者价值,决胜数字化转型深水区

  【IT168 资讯】跨设备跨平台的移动应用开发、发掘数据潜能的人工智能、积极开源并持续扩展的云服务,以及开发运维一体化,微软全面予力开发者,迎战数字化转型中的挑战与机遇   2017年...

it168网站
2017/11/03
0
0
第12章 Spring Boot与微服务

第12章 Spring Boot与微服务 随着RESTful web服务和JSON数据交换格式流行,简单快速建立一个可连接的服务已经越来越方便了。随着持续交付概念推广以及Docker容器普及,微服务将这两种理念和技...

程序员诗人
2017/04/25
0
0
Node.js 这一次不再错过

学习新知识新事物,我觉得得知道她的一些属性,比如是什么,能解决什么问题,来自哪里等等。没有最好的,只有最合适的。接下来的日子或者说岁月里,就来浅谈 Nodejs。 是什么 正如 Node.js ...

pr
08/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

怎样在磁盘上查找MySQL表的大小?这里有答案

导读 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎...

问题终结者
14分钟前
3
0
jQuery load() 方法实现加载远程数据

jQuery load() 方法是简单但强大的 AJAX 方法。load() 方法从服务器加载数据,并把返回的数据放入被选元素中。 语法: $(selector).load(URL,data,callback);必需的 URL 参数规定您希望加载的...

前端老手
15分钟前
2
0
Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存-2

问题 上一篇Spring Boot Cache + redis 设置有效时间和自动刷新缓存,时间支持在配置文件中配置,说了一种时间方式,直接扩展注解的Value值,如: @Override@Cacheable(value = "people#${s...

xiaolyuh
23分钟前
7
0
怎样在磁盘上查找MySQL表的大小?这里有答案

我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应...

Linux就该这么学
48分钟前
5
0
Redis

一、Redis支持的几种数据类型:字符串、List、SET、HASH、ZSET 二、Redis的缓存技术主要是为了降低关系数据库的负载并减少网站成本 三、在Redis里面,被MULTI命令和EXEC命令包围的所有命令会...

BobwithB
50分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部