ApiGateway 设计

1.项目说明

这是一个基于electron主进程的api管理框架。我们项目组对electron技术的使用较多,这个也算是经验的总结,经历过生产环境的考验。本项目的所有代码和文档都是我个人完成,只是将框架的核心思想提取出来实现并开源。

1.1 框架要解决的问题

首先说一下项目的组成,我们是一个以electron为核心的PC端项目,以安装包的形式发布版本。

1.1.1 项目现状

  1. 进程数量多:其中带UI进程窗口40个以上,还有一些无UI的进程。
  2. 进程实现的语言多:有electron渲染进程和主进程,node进程,C++进程。
  3. 进程之间通信方式多:进程并不是完全独立的,各个进程之间需要根据业务有通信交互,这些交互有些以IPC形式完成,如electron的渲染进程和主进程通过ipc通信;有些是通过本地开启的消息服务器通过订阅主题完成的,如C++进程通过内部的消息服务器与主进程通信。

1.1.2 问题

我们来看几个ipc通信场景,最复杂的是electron的渲染进程跟C++进程通信

  1. electron渲染进程跟C++进程通信
  2. electron渲染进程和主进程
  3. C++进程和主进程
  4. 主进程和node进程
  5. node进程和electron渲染进程

原有的设计是这样,每次一个进程发消息给另一个进程都是通过electron主进程做中转。然后每次由于新的业务,都需要新加一条通信通道。所以每次新加一个条通信通道至少需要改动三个项目的代码(消息发起进程=> 主进程=> 消息接收进程

electron-api-gateway相关推荐

  1. websockets_如何将WebSockets与AWS API Gateway和Lambda一起使用来构建实时应用程序

    websockets by Janitha Tennakoon 通过詹妮莎·特纳库恩 如何将WebSockets与AWS API Gateway和Lambda一起使用来构建实时应用程序 (How to ...

  2. 如何从Amazon API Gateway将查询字符串或路由参数传递到AWS Lambda

    本文翻译自:How to pass a querystring or route parameter to AWS Lambda from Amazon API Gateway for instanc ...

  3. Service Mesh 和 API Gateway 关系深度探讨

    前言 关于 Service Mesh 和 API Gateway 之间的关系,这个问题过去两年间经常被问起,社区也有不少文章和资料给出解答.其中不乏 Christian Posta 这样的网红给出过深 ...

  4. 微服务实战(二):使用API Gateway

    [编者的话]本系列的第一篇介绍了微服务架构模式.它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择. 当你决定将应用作为一组微服务时,需要决定应用客户端如何与微服务交 ...

  5. aws创建html网页,AWS: 在AWS上创建一个网站,综合运用(Lambda + Api Gateway + Dynamodb + S3)...

    简介 本文将创建一个微型网站,以达到综合运用AWS服务的目的: 1.Dynamodb:一种完全托管的NoSQL数据库服务 2.Lambda:实现具体的业务逻辑,基于python3编写,它会调用dyna ...

  6. API Gateway简介

    API Gateway,服务网关Chris Richardson 微服务系列 使用API网关构建微服务http://blog.daocloud.io/microservices-2/「Chris Ri ...

  7. 谈谈微服务中的 API 网关(API Gateway)

    前言 又是很久没写博客了,最近一段时间换了新工作,比较忙,所以没有抽出来太多的时间写给关注我的粉丝写一些干货了,就有人问我怎么最近没有更新博客了,在这里给大家抱歉. 那么,在本篇文章中,我们就一起来探 ...

  8. aws lambda使用_使用Lambda,Api Gateway和CloudFormation在AWS云上使用Java

    aws lambda使用 在上一篇文章中,我们实现了基于Java的aws lambda函数,并使用CloudFront进行了部署. 由于我们已经设置了lambda函数,因此我们将使用AWS API G ...

  9. 使用Lambda,Api Gateway和CloudFormation在AWS云上使用Java

    在上一篇文章中,我们实现了基于Java的aws lambda函数,并使用CloudFront进行了部署. 由于我们已经设置了lambda函数,因此我们将使用AWS API Gateway将其与http ...

  10. [云框架]KONG API Gateway v1.5 -框架说明、快速部署、插件开发

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 当前版本采用KONGv0.12.3 当我们决定对应用进行微服务改造时,应用客户端如何与微服务交互的问 ...

最新文章

  1. 使用 Struts2 校验器校验用户注册信息的例子
  2. QEMU KVM Libvirt手册(7): 硬件虚拟化
  3. opsforhash 过期时间_药品过期还能吃吗?本文带你秒懂药品有效期~
  4. gd-flags |= GD_FLG_RELOC; 问题遗留
  5. superset可视化-deck.gl Scatterplot与MapBox
  6. vue中用的swiper轮播图的用法及github的地址
  7. Linux C 算法分析初步
  8. 【Gamma】 Phylab 发布说明
  9. 复习Javascript专题(三):面向对象(对象的创建与继承,原型及原型链)
  10. Python练习题10道(含答案)
  11. 我的知识管理工具列表 zz
  12. 设计模式(2)-抽象工厂模式(Abstract Factory)与生成器模式(Builder)模式
  13. 逢看必会的三子棋小游戏:原来可以这么简单
  14. 通信协议之一线协议(1-Wire)解析
  15. PowerVR GPU - The Architecture Concepts
  16. 阿里云天池大数据长期赛:金融风控-贷款违约预测(含代码)
  17. 国税总局发票查验平台验证码识别方案,识别率达98%
  18. 固态硬盘属于计算机的什么设备,怎么区分电脑里面的c\d\e盘是机械硬盘还是固态硬盘...
  19. KKKVTAQELD|210229-94-0
  20. 数学分析:隐函数定理和反函数定理

热门文章

  1. rgba()和hsla()的区别
  2. Java循环结构—多重循环及continue break(基础)
  3. Oracle中ORA-12560:协议适配器错误
  4. Android的Apk的加固(加壳)原理
  5. Android 中 开发 G-sensor
  6. 【数据结构】:单链表之头插法和尾插法(动图+图解)
  7. 有大佬帮忙跑一下代码吗
  8. 【python】之pygame模块,游戏开发【基础篇】
  9. Android存储扩展学习-----应用的清除数据和清除缓存
  10. 基于微信小程序叽喳音乐微信小程序的设计与实现-计算机毕业设计源码+LW文档