Heroku是受欢迎的平台即服务提供商,它为供应商提供了作为附件提供的选项。 Heroku客户可以以不同的方式使用加载项,但是典型的情况是“启动数据库”,“启动MQ”或“启动日志记录解决方案”。 将附加组件添加到您的帐户后,您可以连接到所选的数据库,MQ,日志记录解决方案或其他。

据称,作为Heroku插件进行集成非常简单,并且Heroku 提供了有关如何执行此操作的良好文档 。 但是,这里有一些陷阱,所以我想分享一下我作为Heroku插件提供服务( Sentinel Trails和SentinelDB )的经验。

两者都是SaaS(一种是日志记录解决方案,另一种是云数据存储库),因此,当Heroku客户想要将其添加到他们的帐户时,我们只需要在他们的末端创建一个帐户即可。

为了与Heroku集成,您需要实现多个端点:

  • 置备–资源的初始创建(=帐户)
  • 计划变更–由于Heroku支持多种订阅计划,因此这也应反映在您的终端上
  • 取消配置-如果用户停止使用您的服务,则可能需要释放一些资源
  • SSO –允许用户通过单击Heroku控制台中的图标来登录您的服务。

在教程之后实现这些端点应该很简单,但事实并非如此。 因此, 我将共享处理它的Spring MVC控制器-您可以在此处进行检查。

一些重要的方面:

  • 如果您不打算进一步与Heroku API进行交互,则可以选择不获取令牌。
  • 我们正在使用<resourceId> @ heroku.com形式的虚假电子邮件注册用户。 但是,您可以选择使用令牌来获取团队成员和协作者的电子邮件, 如此处所述。
  • 最重要的数据是resource_id –将其存储在用户(或组织)表中,并考虑添加索引以便能够快速检索记录。
  • 作为置备请求的一部分,返回您的密钥和机密。 它们将在Heroku中设置为环境变量
  • 除SSO调用外,所有请求均直接从Heroku服务器发送到您的服务器。 它在浏览器中被调用,因此您应该在响应中设置会话cookie /令牌。 这样,用户将登录到您的服务。
  • 生成插件清单时,请确保更新端点URL。

完成后,alpha版本将出现在市场中(例如, here和here )。 然后,应该有一些Alpha用户来测试加载项,然后才能在市场上看到它们。

将SaaS解决方案与现有的云提供商集成在一起是一件好事,我很高兴Heroku提供了一种自动化的方法。 (例如,AWS也有一个市场,但是那里的集成感觉有些奇怪并且不完善(我遇到了一些由AWS团队手动解决的问题)。

由于许多公司都选择IaaS或PaaS作为其服务,因此能够轻松集成附加服务的功能非常有用。 我什至会更进一步,为云附加组件提出一些级别的标准化,但是我想时间会证明我们是否真的需要它,或者我们可以为每个提供商节省几天的时间。

翻译自: https://www.javacodegeeks.com/2019/01/integrating-applications-as-heroku-add-ons.html

将应用程序集成为Heroku附加组件相关推荐

  1. heroku_将应用程序集成为Heroku附加组件

    heroku Heroku是流行的"平台即服务"提供商,它为供应商提供了作为附件提供的选项. Heroku客户可以以多种方式使用附加组件,但是典型的情况是"启动数据库&q ...

  2. 利用Mono.Cecil动态修改程序集来破解商业组件(仅用于研究学习)

    原文:利用Mono.Cecil动态修改程序集来破解商业组件(仅用于研究学习) Mono.Cecil是一个强大的MSIL的注入工具,利用它可以实现动态创建程序集,也可以实现拦截器横向切入动态方法,甚至还 ...

  3. Firefox 下载、附加组件、Flash插件、缓存位置(附加Chrome下载和Opera下载)

    Firefox 下载的FTP页面: http://ftp.mozilla.org/pub/firefox/releases/ Firefox下载官方页面: https://www.mozilla.or ...

  4. Firefox Nightly 让 Android 机用上任意桌面端附加组件 | Expanded extension support in Firefox for Android Nightly

    Firefox Nightly 让 Android 机用上任意桌面端附加组件 官方文档:https://blog.mozilla.org/addons/2020/09/29/expanded-exte ...

  5. vaadin_Vaadin附加组件和Maven

    vaadin 介绍 我喜欢Vaadin的 (其中很多)一件事是它对Vaadin框架的"附加组件"社区-他们称之为Vaadin目录 . "附加组件"是社区对框架的 ...

  6. 带有Java 8,lambda表达式和Mockito-Java8附加组件的更紧凑的Mockito

    Mockito-Java8是一组Mockito附加组件,它们利用Java 8和lambda表达式使Mockito的模拟更加紧凑. 在2015年初,我进行了简短的演讲, Java 8为测试带来了力量! ...

  7. Vaadin附加组件和Maven

    介绍 我喜欢Vaadin的 (众多)一件事是它对Vaadin框架的"附加组件"社区-他们称之为Vaadin目录 . "附加组件"是框架中社区贡献的附加组件,可以 ...

  8. PPA格式Linux安装,Ubuntu12.04 用PPA安装fcitx和搜狗输入法附加组件Linux版

    最近Linux的世界中,让人兴奋的就是LinuxDeepin12.1 Beta的发布,但最让人欢喜的就是随之而来的"搜狗输入法Linux版". 网上流传的在Ubuntu下安装搜狗输 ...

  9. Firefox Developer Edition已阻止此网站安装未经验证的附加组件的解决办法

    火狐浏览器添加博客园网摘,遇到这样一个问题:Firefox Developer Edition已阻止此网站安装未经验证的附加组件. 网上搜到的解决办法简明扼要,就这一句:about:config 中 ...

最新文章

  1. javaWeb防止恶意登陆或防盗链的使用
  2. linux/windows下安装scala
  3. ELF文件的加载和动态链接过程
  4. sql 日期和当前日期时间差_如何通过excel获取当前的日期和时间
  5. 【Python基础】Python时间模块,超实用总结!
  6. 神秘的“阿里星”是一群怎么样的人
  7. 查询常量、表达式、函数
  8. 雷林鹏分享:C# 多态性
  9. 吴恩达《机器学习》学习笔记八——逻辑回归(多分类)代码
  10. 在线MG小游戏html5源码
  11. mac服务器 文件无法删除文件夹,macOS 10.15.4 无法删除一个空文件夹
  12. 原:PHP内核研究 函数的定义
  13. 小结SpringMVC(一)
  14. linux shell捕获异常,shell脚本中如何获取错误输出
  15. arduino控制雨滴传感器
  16. 如何在Windows 10宿主机与Windows 98虚拟机之间共享数据
  17. x,y直角坐标系转经纬度WGS-84坐标系
  18. PHP 获取服务器磁盘空间
  19. 对计算机课程的意见和建议对老师,对计算机应用基础课程的探讨
  20. 单片机==共阴数码管(4)

热门文章

  1. 20、mysql中触发器的使用
  2. 深入解析String中的intern
  3. 面象对象设计6大原则之二:开放封闭原则
  4. 如何用spring boot写一个注册页面
  5. java中,在一个有序数组中插入元素,使得数组保持有序排列
  6. oracle 10741 trace,RedHat5.3上安装Oracle 10.2.0.1
  7. shiro-权限概述
  8. Spring中@Autowired、@Qualifier、@Resource的区别
  9. 转-Redis AOF 持久化详解
  10. mysql事务基础+基于innodb的行锁+间隙锁+如何锁定行