在新版本的BeetleX.Bumblebee中实现了对Weboskcet代理的支持,因此使用BeetleX搭建同时支持HTTP和Weboskcet的网关只需要几行代码的工作就能完成;接下来构建一个简单的网关程序并测试一下对asp.net core SignalR进行代理的应用。

引用组件

使用BeetleX构建网关只需要引用BeetleX.Bumblebee即可,不过你相信也不想通过硬编码的方式来配置服务和负载策略;所以为了管理方便还是引用一下 BeetleX.Bumblebee.Configuration,这是组件的一个网关管理插件;除了这个外组件还提供了很多插件,在这里就不介绍了详细可以访问beetlex.io

搭建服务

使用组件搭建自己的网关真的只需要几行代码即可完成,代码如下:

    public class HttpServerHosted : IHostedService{private Gateway g;public virtual Task StartAsync(CancellationToken cancellationToken){g = new Gateway();g.HttpOptions(o =>{o.Port = 80;o.LogToConsole = true;o.WriteLog = true;});g.Open();g.LoadPlugin(typeof(Bumblebee.Configuration.Config).Assembly);if (Environment.OSVersion.Platform == PlatformID.Win32NT){var ps = new ProcessStartInfo($"http://localhost:{g.HttpServer.Options.Port}/__system/bumblebee/index.html"){UseShellExecute = true,Verb = "open"};Process.Start(ps);}return Task.CompletedTask;}public virtual Task StopAsync(CancellationToken cancellationToken){g.Dispose();return Task.CompletedTask;}}

以上就是一个完全整网关的服务代码,它在本机AnyIP的80端口开启服务,启动后可以看到组件的启动情况。

构建一个SignalR项目

可以构建一个简单的asp.net core SignalR项目并运行在5000端口上

配置代理

接下来就把80端代理到5000这个SignalR项目上,由于SignalR这个项目除了有websocket外还有传统的http页面;所以需要在网关中添加对应这个端口的httpws服务,具体如下:

添加完成服务后还需要把服务添加到路由上

添加完成后点保存代理即可生效,接下来就可以访问80了。

一个HTTP和Weboskcet网关服务就这样完成是不是很简单呢,其实组件的功能还有很多,如果需要了解可以访问

beetlex.io

需要完全示例代码可以访问

https://github.com/IKende/BeetleX-Samples/tree/master/Gateway.Base

想体验一下简单的代理后的websocket聊天服务可以访问

http://chat.beetlex.io

BeetleX轻松搭建HTTP和Weboskcet网关相关推荐

  1. 轻松搭建基于 SpringBoot Vue 的 Web 商城应用

    背景介绍 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数 ...

  2. vsscode beego 没有提示_轻松搭建基于 Serverless 的 Go 应用(Gin、Beego 举例)

    首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准备计 ...

  3. 轻松搭建基于Serverless的Go应用(Gin、Beego 举例)

    首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准备计 ...

  4. Serverless 实战 —— 轻松搭建基于 SpringBoot + Vue 的 Web 商城应用

    Serverless 实战 -- 轻松搭建基于 SpringBoot + Vue 的 Web 商城应用 背景介绍 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute ...

  5. python在线搭建教程_理解python web开发,轻松搭建web app!

    大家好,今天分享给大家的是理解python web开发,轻松搭建web app,希望大家学有所获! 因为 python代码的优雅美观且易于维护这一特点,越来越多的人选择使用 Python做web开发. ...

  6. 轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装

    轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装   开源ASP.NET博客Subtext 目前发布了最新版2.0,是基于.Net Framework 2.0/3.0的开源ASP.NE ...

  7. python论坛app_理解python web开发,轻松搭建web app!

    大家好,今天分享给大家的是理解python web开发,轻松搭建web app,希望大家学有所获! 因为 python代码的优雅美观且易于维护这一特点,越来越多的人选择使用 Python做web开发. ...

  8. android mvvm框架搭建_轻松搭建基于JetPack组件的MVVM框架

    原文链接:轻松搭建基于JetPack组件的MVVM框架 - 掘金 Brick github gitee 介绍 辅助android开发者搭建基于JetPack组件构建MVVM框架的注解处理框架.通过注解 ...

  9. Firefly支持AI引擎Tengine,性能提升,轻松搭建AI计算框架

    Tengine 是OPEN AI LAB 为嵌入式设备开发的一个轻量级.高性能并且模块化的引擎.基于ARM平台高效的计算库实现,针对特定硬件平台的性能优化,吸取已有AI计算框架的优点,设计全新的计算图 ...

最新文章

  1. Java12和Jdk12安装以及OpenJdk12源码
  2. EnterLib PIAB又一个BUG?
  3. ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 A题 Visiting Peking University
  4. WebRTC各种资料集合
  5. Kinect学习(二):学习资源整理(转)
  6. CRM和C4C里的组织架构 - Organizational Structure
  7. java画布颜色切换_在本视频讲解演示中,扩展画布的目的是为了后面制作齿孔时操作起来方便,扩展部分更换了另一种颜色,是为了以示区别,能直观区分出票面部分。...
  8. 禁止浏览器记录 文本框之前输入过的内容
  9. 6轴游戏手柄测试python程序
  10. 微软将与美国第二大杂货连锁店展开合作 以抵抗亚马逊
  11. 如何使用typora来写博客?
  12. 搜狗输入法在idea打不了汉字_IDEA下搜狗输入法输入中文时卡着不动的参考解决方法...
  13. ESXI提示 ramdisk“tmp”已满的解决方案
  14. 大数据才是未来,Oracle、SQL Server成昨日黄花?
  15. android应用双开
  16. 基于stm32的超声波HC-SR04测距仪含距离报警(温度补偿)
  17. Mysql使用函数json_extract处理Json类型数据
  18. JaveMail实现发送QQ邮件
  19. 基于STM32的无线通信模块使用——A7130
  20. 微信公众号页面跳转APP或小程序遇到的问题

热门文章

  1. Linux信号实践(3) --信号内核表示
  2. Python-理解装饰器
  3. [snmp++]读取cisco路由交换机信息[一] - 环境搭建
  4. linux压缩和解压缩_Linux QuickTip:一步下载和解压缩
  5. 计算机二级高级应用这么难,计算机二级考试越来越难的实锤!真实数据告诉你到底难在哪里?...
  6. 可编程交换时代就在这里
  7. LinkedHashMap 与 HashMap区别
  8. 如何评价国内SRC纷纷上线“白帽子协议”?
  9. exec和sp_executesql
  10. hdu 2579 BFS