BeetleX轻松搭建HTTP和Weboskcet网关
在新版本的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
页面;所以需要在网关中添加对应这个端口的http
和ws
服务,具体如下:
添加完成服务后还需要把服务添加到路由上
添加完成后点保存代理即可生效,接下来就可以访问80
了。
一个HTTP和Weboskcet网关服务就这样完成是不是很简单呢,其实组件的功能还有很多,如果需要了解可以访问
beetlex.io
需要完全示例代码可以访问
https://github.com/IKende/BeetleX-Samples/tree/master/Gateway.Base
想体验一下简单的代理后的websocket聊天服务可以访问
http://chat.beetlex.io
BeetleX轻松搭建HTTP和Weboskcet网关相关推荐
- 轻松搭建基于 SpringBoot Vue 的 Web 商城应用
背景介绍 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数 ...
- vsscode beego 没有提示_轻松搭建基于 Serverless 的 Go 应用(Gin、Beego 举例)
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准备计 ...
- 轻松搭建基于Serverless的Go应用(Gin、Beego 举例)
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准备计 ...
- Serverless 实战 —— 轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
Serverless 实战 -- 轻松搭建基于 SpringBoot + Vue 的 Web 商城应用 背景介绍 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute ...
- python在线搭建教程_理解python web开发,轻松搭建web app!
大家好,今天分享给大家的是理解python web开发,轻松搭建web app,希望大家学有所获! 因为 python代码的优雅美观且易于维护这一特点,越来越多的人选择使用 Python做web开发. ...
- 轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装
轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装 开源ASP.NET博客Subtext 目前发布了最新版2.0,是基于.Net Framework 2.0/3.0的开源ASP.NE ...
- python论坛app_理解python web开发,轻松搭建web app!
大家好,今天分享给大家的是理解python web开发,轻松搭建web app,希望大家学有所获! 因为 python代码的优雅美观且易于维护这一特点,越来越多的人选择使用 Python做web开发. ...
- android mvvm框架搭建_轻松搭建基于JetPack组件的MVVM框架
原文链接:轻松搭建基于JetPack组件的MVVM框架 - 掘金 Brick github gitee 介绍 辅助android开发者搭建基于JetPack组件构建MVVM框架的注解处理框架.通过注解 ...
- Firefly支持AI引擎Tengine,性能提升,轻松搭建AI计算框架
Tengine 是OPEN AI LAB 为嵌入式设备开发的一个轻量级.高性能并且模块化的引擎.基于ARM平台高效的计算库实现,针对特定硬件平台的性能优化,吸取已有AI计算框架的优点,设计全新的计算图 ...
最新文章
- Java12和Jdk12安装以及OpenJdk12源码
- EnterLib PIAB又一个BUG?
- ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 A题 Visiting Peking University
- WebRTC各种资料集合
- Kinect学习(二):学习资源整理(转)
- CRM和C4C里的组织架构 - Organizational Structure
- java画布颜色切换_在本视频讲解演示中,扩展画布的目的是为了后面制作齿孔时操作起来方便,扩展部分更换了另一种颜色,是为了以示区别,能直观区分出票面部分。...
- 禁止浏览器记录 文本框之前输入过的内容
- 6轴游戏手柄测试python程序
- 微软将与美国第二大杂货连锁店展开合作 以抵抗亚马逊
- 如何使用typora来写博客?
- 搜狗输入法在idea打不了汉字_IDEA下搜狗输入法输入中文时卡着不动的参考解决方法...
- ESXI提示 ramdisk“tmp”已满的解决方案
- 大数据才是未来,Oracle、SQL Server成昨日黄花?
- android应用双开
- 基于stm32的超声波HC-SR04测距仪含距离报警(温度补偿)
- Mysql使用函数json_extract处理Json类型数据
- JaveMail实现发送QQ邮件
- 基于STM32的无线通信模块使用——A7130
- 微信公众号页面跳转APP或小程序遇到的问题
热门文章
- Linux信号实践(3) --信号内核表示
- Python-理解装饰器
- [snmp++]读取cisco路由交换机信息[一] - 环境搭建
- linux压缩和解压缩_Linux QuickTip:一步下载和解压缩
- 计算机二级高级应用这么难,计算机二级考试越来越难的实锤!真实数据告诉你到底难在哪里?...
- 可编程交换时代就在这里
- LinkedHashMap 与 HashMap区别
- 如何评价国内SRC纷纷上线“白帽子协议”?
- exec和sp_executesql
- hdu 2579 BFS