首页 文章 精选 留言 我的

精选列表

搜索[网关],共6501篇文章
优秀的个人博客,低调大师

如何扩展Fizz Gateway应用网关聚合功能

Fizz聚合模块 Fizz能够支持扩展聚合编辑器的功能。在现阶段原生官方支持的聚合类型中仅有的REQUEST,Dubbo,gRPC三种RPC请求方式。但Fizz能够支持的包含但不仅限于RPC,虽然聚合模块设计的时候我们更多考虑RPC请求聚合以避免过多的业务逻辑进入聚合模块影响性能,但如果想要支持更多数据聚合类型,Fizz现阶段也提供对应的解决方案。 扩展方法 Fizz聚合编辑器配置之后的陪hi文件的分发流程为:编辑器——》管理端存储——》缓存——》节点,编辑器负责配置文件的编辑,中间管理端负责配置文件的存储和节点分发,最终节点负责识别解析配置文件。所以我们需要修改包含两部分: 1、增加后台编辑器中聚合类型的支持; 2、增加节点中聚合代码对于新增类型的支持; 编辑器支持 前端开发步骤 1、安装支持 yarn add vue-module-creator 1、进入目录module,生成vue项目 cd module; vmc create; // 输入项目名称,创建项目 yarn add vue-module-loader --save 2、添加项目入口文件module.js import MysqlItem from './components/aggregate/mysql-item.vue' import routes from './router/routes' import storeModule from './store/store-module' export default function(Vue) { Vue.config.productionTip = false this.$router.addRoutes(routes) this.$store.registerModule('mysql', storeModule) this.$dynamicComponent.create(MysqlItem) } 3、编写组件mysql-item.vue <template> <div> <el-form-item label="连接地址" prop="URL" key="URL"> <el-input v-model="requestForm.URL" clearable></el-input> <span class="key-tips">数据库链接地址,如:r2dbcs:mysql://root:password@localhost:3306/archer?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true</span> </el-form-item> <el-form-item label="查询数据SQL" prop="sql" key="sql"> <el-input type="textarea" v-model="requestForm.sql" clearable></el-input> <span class="key-tips">示例:Select dd* from users 请勿以分号结尾</span> </el-form-item> <el-form-item label="绑定参数" prop="binds" key="binds"> <el-input v-model="requestForm.binds" clearable></el-input> <span class="key-tips">输入使用JSON{"id":"1"}</span> </el-form-item> </div> </template> <script> export default { name: 'mysqlItem', props: { requestForm: { // 名字已经固定,请勿修改 default() { return {}; } } } } </script> 4、编译组件 在package.json中scripts中添加 "scripts": { "serve": "concurrently \"vue-cli-service serve -mode development\" \"vue-cli-service build --target lib src/module.js --dest public --watch\"", "build:app": "vue-cli-service build -mode production", "build:module": "vue-cli-service build --target lib src/module.js --dest public", "publish": "vue-cli-service build --target lib src/module.js --dest ../../public/module/mysql" }, 5、使用命令编译 yarn run build:module 6、编译之后的文件为:mysql.umd.js 7、配置Fizz管理后台 接下来需要让Fizz管理后台能够加载该组件,找到Fizz后台中public文件夹中constant.js,配置如下: var Constant = (function(){ return { aggregate:{ plugins:{ mysql:{ "entry":NODE_ENV === 'development' ? "//localhost:8080/mysql.umd.js":"/public/module/mysql/mysql.umd.js", "component":"mysqlItem" // 该字段需要与mysql-item.vue中name字段对应 } } } } })(); 说明 调试模式可以启动serve,Fizz管理后台能够根据配置加载对应路径的Web Component 节点支持 节点开发步骤 1、在合适的位置注册Input InputFactory.registerInput(MySQLInput.TYPE, MySQLInput.class); 2、编写MySQLInput.java public class MySQLInput extends Input implements IInput { static public InputType TYPE = new InputType("MYSQL"); public static Class inputConfigClass (){ return MySQLInputConfig.class; } public void beforeRun(InputContext context){ } public Mono<Map> run(){ // items 是根据数据库读取之后的结果处理 Map<String, Object> result = new HashMap<String, Object>(); result.put("data", items); result.put("request", this); return Mono.just(result); } } 3、编写配置MySQLInputConfig.java public class MySQLInputConfig extends InputConfig { public MySQLInputConfig(Map configBody) { super(configBody); } // 在这里解析前端传递过来的配置 public void parse(){ } } 重要说明 Fizz该功能现阶段仅对商业用户开放。

优秀的个人博客,低调大师

YoMo —— 实时边缘计算网关和开发框架

YoMo 是一套开源的实时边缘计算Streaming Serverless开发框架,通讯层基于QUIC协议,以FRP为编程范式,更好的释放了未来5G等低时延网络的价值;为流式处理(Streaming Computing)设计的编解码器yomo-codec能大幅提升计算服务的吞吐量;基于插件的开发模式,5分钟即可上线用户的物联网实时边缘计算处理系统。YoMo已落地在工业互联网领域,目的是打造国产化自主可控的实时边缘计算体系。 YoMo 架构和亮点 YoMo 关注在: 工业互联网领域 在IoT设备接入侧,需要<10ms的低延时实时通讯 在智能设备侧,需要在边缘侧进行大算力的AI执行工作 YoMo包含两部分: yomo-edge: 部署在企业内网,负责接收设备数据,并按照配置,依次执行各个yomo-plugin yomo-plugin: 可以部署在企业私有云、公有云及yomo-edge-server上 YoMo 的优势: 全程基于Quic协议传输数据,使用UDP协议替代TCP协议后,大幅提升了传输的稳定性和高通率 自研的yomo-codec优化了数据解码性能 全程基于Stream Computing模型,并简化面向Stream编程的复杂度

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册