精易论坛
标题: 【开源】bl-api-cloud,可扩展轻云服务端框架 [打印本页]
作者: Mruos 时间: 2019-2-22 13:20
标题: 【开源】bl-api-cloud,可扩展轻云服务端框架
本帖最后由 Mruos 于 2019-2-22 13:53 编辑
bl-api-cloud,轻云服务端
为轻量级可扩展的API服务端框架,主要用于响应http请求,开发者可通过开发自己的功能插件(.dll)进行加载以达到扩展。
丨前言
之前发过帖子《【框架】bl-api-cloud,高性能可扩展的API服务器》 https://125.confly.eu.org/forum.php?mod=viewthread&tid=14191272&extra=
且获得了不少网友的认可,最近几天就行了大的优化、更新,并全部开源出来。
丨用途
为其他程序、应用,提供便捷的http接口搭建功能,开发者从而不再需要使用大型、复杂框架。
(毕竟很多时候为了一个小接口不值得用主流语言的比如java的Spring或python的Flask去搭建服务端)
举个最简单的例子,有时在授权、防破解等应用中,我们需要获取准确的北京时间。一般我们为了方便会通过第三方来获取:
找个提供北京时间的第三方web页面;
写个模块或DLL,提取页面里的北京时间;
弊端:如果第三方页面出现问题,或web页面源码有变动,那么获取就会失败,进而影响了所有使用了此模块/DLL的程序。
其实,很简单,我们让自己的服务器自动同步了时间(一般都默认开启着),然后提供一个http接口即可,用自己的最稳定。
网页_访问 (“http://192.168.1.1:6680/api/sup/bjtime/10”)
我自己使用本框架已应用的领域:
丨特色
1、通讯组件使用的为HPsocket,强大、稳定
HP-Socket,是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统。
其Server 组件:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。
应用程序能够根据不同的容量要求、通信规模和资源状况等现实场景调整 HP-Socket 的各项性能参数(如:工作线程的数量、缓存池的大小、发送模式和接收模式等),优化资源配置,在满足应用需求的同时不必过度浪费资源。
2、双服务端支持(http、https)
服务端启动端口自定义,默认http服务端80端口,https服务端443。当然本框架出发定性小众领域使用,可以设置其他端口,以免占用重要的web框架接口。
3、扩展便捷
扩展(插件)为DLL文件,只需放入根目录下的/plugins即可。DLL支持热加载与释放,无需终止服务端主程序即可进行DLL更新。
开发模板简单,一目了然,因为全部开源,开发者依然可以自主向插件传递更多可操作的主程序指针(通常模板自带功能足够使用了)。
每个插件都有自己的http访问请求处理域且可以是多个,插件之间不会互相冲突;
在两个示例demo中,对于/api/sup/bjtime根址的http请求,服务端只push到了bjtime.dll插件,对于/web的http请求,服务端只push到了web-demo.dll插件。
提供有2个扩展开发模板demo:
(1)bjtime
示例如何返回Get请求,功能性代码不足20行即可实现;
(2)web-demo
示例web页面返回,提供Get静态web目录文件回执和向服务端Post数据处理示例;
1、访问页面(http与https)
2、post数据
4、集成实用便捷功能
自带集成多色日志输出、debug消息模式、访问频率保护等功能;
(1)多色日志输出
主程序的日志消息窗口,可以对应不同的日志显示不同的颜色,方便开发者一目了然的找到查看消息。如:
灰色(gray)的为debug消息;
红色(red)的为异常或错误信息;
绿色(green)的为收到的事件;
黄色(yellow)为重要系统消息;
当然可以自己设置其他颜色,以及如何输出。
注意: 多色输出使用的是超级编辑框组件,在高并发下是否对程序效率影响有待考证(组件可能拖累程序),请自行进行取舍、替换。
(2)日志记录
主程序集成一个简单日志记录模块,主程序运行每一次运行后都会在/log目录创建一个日志文件(名称以运行开始时间-运行结束时间.txt为名,方便开发者查找时段消息)。
开发者也可以在自己开发的插件中加入独立的日志记录。
(3)debug消息模式
主程序启动后通过输入sys debug on、sys debug off可开关debug模式,在debug模式下,会输出显示更多的日志消息(修改主程序文件可以自己定义显示什么内容为debug类型的消息),以便于程序调试。
(4)访问频率保护
主程序自带了一个频率保护功能,可以自行设置频率。如对于同一IP的访问限制在最近n秒内不可以超过i次。此功能用的自己简单设计的一个Belt模型,小众使用足够,高度使用下,开发者可根据实际需求决定是否自己去设计类似功能。
5、心跳包异常监测
为了应对服务端布局在云服务器上异常退出的情形,用户可以通过发送Get心跳包的请求来确认服务端运行状态,发生异常可重启它。本框架目录下有个示例demo。
用户可以自己设置心跳包地址,默认/api/this/heart,
6、web服务端
可以用于构建简单web页面,与web页面交互,理论上只要你精通web前端及后端处理逻辑,可以搭建(不过有这能力肯定不是用易语言搭建了)。
示例开发demo(plug-demo-web.e)提供了一个示例参考,可以搭建web页面,当然专业web设计等请移步使用主流语言的成熟框架。
参考上面图片。
7、命令行式操作
最大化简化了服务端的UI界面(毕竟后端的东西),提供命令行式命令输入操作,除了系统前缀的命令,其他可推送到每个插件;
开发者可以在自己的插件里获取主程序输入的命令,然后进行相关处理。
8、开发难度低
完整开源,包含主程序在内上手难度极低,代码注释齐全,结构明晰;也可以作为网络应用、DLL插件类型热加载释放等学习参考项目。
丨使用协议
本框架遵从BSD开源协议
可以任意使用本框架及代码进行二次开发,开发后产品可以闭源,开发源码主文件需要注释版权引用说明;
不可以使用本框架作者信息进行推广、营销;
丨下载
丨案例贴图
1、微信公众号后台程序
2、网络验证系统,用户登录
丨其他
by: Mruos
QQ/微信: 812465371[qq]812465371[/qq]
QQ群: 465021903
web: www.burnlord.com
使用问题、建议、Bug反馈,跟踪更新等欢迎加群交流~
本程序依然存在不足之处,欢迎各大佬批评、指出,一起完善。
丨支持一下,给个打赏~
作者: 小小小Baby 时间: 2019-2-22 15:22
开源必须支持,顶作者
作者: guaika 时间: 2019-2-22 17:42
支持开源,,,,
作者: 毛超 时间: 2019-2-22 17:55
感谢分享!!!!!!!
作者: jxxypxh 时间: 2019-2-22 18:01
来学习下,谢谢
作者: 泠淼姬sama 时间: 2019-2-22 18:19
大佬,感谢分享
作者: hgy19880905 时间: 2019-2-22 18:24
#在这里快速回复#支持开源~!感谢分享
作者: zlqjwang 时间: 2019-2-22 18:55
好高端的感觉
作者: 汉族 时间: 2019-2-22 20:11
看着介绍不错啊 赞一个
作者: 59hdvj 时间: 2019-2-22 20:20
支持一下楼主
作者: Decat 时间: 2019-2-22 20:39
看看是什么
作者: 人气猫 时间: 2019-2-22 20:44
看看。。。。。。。。。。
作者: 猜度 时间: 2019-2-22 21:01
支持上传文件?
作者: 2987363174 时间: 2019-2-22 21:40
下载看看2333333
作者: sunmoonstar 时间: 2019-2-22 22:07
一定要下来学习学习
作者: 美女じ打屁屁ジ 时间: 2019-2-22 22:29
一定要下载 下 看看 才好 啊
作者: szwwltl 时间: 2019-2-22 22:53




作者: static101 时间: 2019-2-22 22:56
NP,很强大啊Σ(っ °Д °;)っ
作者: leiwawa001 时间: 2019-2-22 23:00
谢谢分享。
作者: jt0106 时间: 2019-2-22 23:11
看看 学习一下
作者: jiang8125 时间: 2019-2-22 23:22
参与/回复主题
作者: 740949011 时间: 2019-2-22 23:34
不错不错,谢谢分享!!!
作者: kagari 时间: 2019-2-23 00:15
支持开源~!感谢分享
作者: huxian 时间: 2019-2-23 05:47
看不懂,不知道楼主要表达的意思
作者: huxian 时间: 2019-2-23 05:48
楼主的意思难道是用自己的电脑做服务器吗?
作者: freexx 时间: 2019-2-23 08:34
这个必须支持一个
作者: Mruos 时间: 2019-2-23 09:21
本地电脑一般都连在路由器里,如果做服务端,需要进行端口映射。
所以,这是后端服务器,肯定主要布局在服务器上的
作者: Mruos 时间: 2019-2-23 09:22
在服务端进行了相关协yi头处理就可以
作者: 网络注册会员 时间: 2019-2-23 09:32
支持一下支持
作者: Joniak 时间: 2019-2-23 09:52
感谢分享,支持创新
作者: xslyhk 时间: 2019-2-23 10:24
谢谢分享哦
作者: 我会让你抓狂 时间: 2019-2-23 11:34
学习一下!!
作者: 1025 时间: 2019-2-23 11:43
支持开源,感谢分享。
作者: gys497 时间: 2019-2-23 14:00
感谢发布原创作品,精易因你更精彩!
作者: gudandexuan 时间: 2019-2-23 16:23
下载下来 学习学习 感谢分享
作者: KEN 时间: 2019-2-23 17:10
学习一下,谢谢
作者: 枫眼 时间: 2019-2-24 04:13
66666666666666666
作者: 撩唇笔 时间: 2019-2-24 08:21
66666666666666666
作者: 初柚 时间: 2019-2-24 09:23
感谢发布原创作品,精易因你更精彩!

作者: zhu798542746 时间: 2019-2-24 10:06
支持一下!!!!!!
作者: 衰而不爱 时间: 2019-2-24 11:55
刚好正在开发类似的,下载学习学习。
作者: 1456417373 时间: 2019-2-24 13:13
可扩展轻云服务端框架
作者: wxmthh 时间: 2019-2-24 13:24
看看楼主是怎么弄的
作者: 怪兽叔叔 时间: 2019-2-24 15:25
正需要这个东西,谢谢楼主了
作者: 司祭 时间: 2019-2-24 15:56
好像很不错,下载学习了
作者: 闪闪 时间: 2019-2-24 18:29
吊吊吊
作者: 安陆华硕专卖 时间: 2019-2-24 19:21
支持开源~!感谢分享
作者: mier001 时间: 2019-2-24 19:39
支持一下。。。。。
作者: chenuqiang 时间: 2019-2-24 19:42
支持开源~!感谢分享
作者: 幸福不是幸福 时间: 2019-2-24 20:28
DLL插件类型热加载释放等学习参考项目。
作者: 努努 时间: 2019-2-24 20:53
感谢分享~~
作者: 晴雯晴雯 时间: 2019-2-24 21:00
你是太原的吗?
作者: kk1028438062 时间: 2019-2-24 21:37
谢谢大佬!!!
作者: xcj94 时间: 2019-2-24 21:39
好东西谢谢分享,辛苦了。
作者: yes123 时间: 2019-2-24 21:40
学习一下,谢谢
作者: WWII 时间: 2019-2-24 21:44
来看看吧

作者: Terrell 时间: 2019-2-24 21:48
我的天啊,大佬啊,这东西太好了
作者: ww2510095 时间: 2019-2-24 21:55
下载学习....................
作者: 六升臣 时间: 2019-2-24 21:59
支持开源~!感谢分享
作者: neysummer 时间: 2019-2-24 22:05
感谢分享~~
作者: nekaka 时间: 2019-2-24 22:19
好东西!!
作者: anner 时间: 2019-2-24 22:27
来看看 吧
作者: yinliming8 时间: 2019-2-24 22:38
谢谢楼主的分享。
作者: baih123 时间: 2019-2-24 22:46
感谢分享~~
作者: 加盐白咖啡 时间: 2019-2-24 23:14
回复看看~~
作者: laji520jn 时间: 2019-2-24 23:27
优秀,学习一下谢谢
作者: 不靠谱 时间: 2019-2-24 23:47
真是太需要了。
作者: haoajc 时间: 2019-2-24 23:50
先下载研究一下
作者: 6125092 时间: 2019-2-25 01:31
下载学习一下啊啊啊啊啊啊
作者: sinue9528 时间: 2019-2-25 02:24
看看
作者: Mata 时间: 2019-2-25 02:28
下载看看啊
作者: pasyou1 时间: 2019-2-25 04:23
不错,学习了!!!!
作者: linqing4 时间: 2019-2-25 08:45
谢谢分享,膜拜大佬
作者: BigBoss007 时间: 2019-2-25 10:34
下载看一下.
作者: 2686467151asd 时间: 2019-2-25 12:15
6666666666666666666666666666666666666666666666666666666666666
作者: xiaoye77 时间: 2019-2-25 13:41
给力d

作者: 以小兵 时间: 2019-2-25 14:26
感谢分享,支持开源。
作者: 张大仙 时间: 2019-2-25 14:27
支持开源!!!
作者: CherishAYH 时间: 2019-2-25 14:52
支持开源,让国产语言发扬光大
作者: 可乐cl 时间: 2019-2-25 15:10
正需要
先拿走
作者: qck易语言 时间: 2019-2-25 15:26
天哪,我才研究,你都出了
作者: 萧敬腾 时间: 2019-2-25 16:25
谢谢分享···
作者: jspengcf 时间: 2019-2-25 16:51
我正在开发公众后台 参考一下
作者: 傻妞 时间: 2019-2-25 19:31
不错,支持一下先
作者: 1097506135 时间: 2019-2-25 19:34
支持开源~!感谢分享
作者: lilina 时间: 2019-2-25 19:36
看看看看看看看看看看看看看看看看看看看看看看看看看看看看
作者: f100long 时间: 2019-2-25 19:43
努力学习,天天向上
作者: 轻风影 时间: 2019-2-25 20:58
看看啥样子效果。
作者: 瘦瘦的小四 时间: 2019-2-25 22:07
太牛逼了,感谢分享
作者: z949056360 时间: 2019-2-25 22:57
666666感谢大佬
作者: z949056360 时间: 2019-2-25 22:57
66666666666
作者: lqdefeng 时间: 2019-2-25 23:08
看看啥样子效果。
作者: anass 时间: 2019-2-25 23:58
kkkkkkkkkkkkkkkkkkkkkkkkkkkkk
作者: 啊基德 时间: 2019-2-26 00:07
感谢楼主的无私奉献
作者: 醉酒成梦° 时间: 2019-2-26 01:19
学习一下。
作者: KB科技 时间: 2019-2-26 06:48
貌似开发API 这个挺好的
作者: 15887059803 时间: 2019-2-26 09:12
感谢分享支持开源
作者: SoloCat 时间: 2019-2-26 09:15
开源?瞧瞧什么黑科技
作者: 酷易自绘 时间: 2019-2-26 09:18
好强大的感觉,原来易语言也能这么用
作者: 15659132033 时间: 2019-2-26 10:23
好强大,学习
欢迎光临 精易论坛 (https://125.confly.eu.org/) |
Powered by Discuz! X3.4 |