精易论坛

标题: bl-mid-proxy中间件,快速开发模块,支持各编程语言 [打印本页]

作者: Mruos    时间: 2021-3-1 10:49
标题: bl-mid-proxy中间件,快速开发模块,支持各编程语言
本帖最后由 Mruos 于 2021-3-1 10:55 编辑

bl-mid-proxy,中间件代理端


目前本中间件,主要实现mysql连接池redis连接池crontab任务定时器logging多色日志输出,四大功能。


本中间件实质为一个服务端,通过http请求进行通信,任何编程语言都可以对接


提供简单的SDK(e、python、php、java),其他语言可自行组装http请求进行通讯。


http://images.burnlord.com/s/app/blmidproxy/20210226162231.png


目录:



目的:


本中间件主要解决以下问题:




  1. mysql数据库的增删改查,基本是后端编程的核心代码,占据很大的代码工作量,无论什么使用什么编程语言,都大概需要了解这些:




    • 所用语言需要使用什么的mysql支持库、包、模块,要安装引用它;




    • 掌握所用mysql模块的类、函数等方法,需要自己去掌握什么是连接句柄、游标、记录集等;




    • 如果所用语言框架还有sql的集成函数语法,如php的tp框架等,依然需要学习(当然熟练后使用这些更方便);




    • 如果sql调用多,开发者还需要使用连接池或者自行把mysql模块的类、方法等封装成可靠的mysql连接池来提高sql的执行速度;






  2. redis缓存数据库同样的道理,依然需要掌握和mysql类似的那些知识点;




  3. 定时器,程序总免不了存在定时执行、周期执行的任务,这需要我们:




    • 掌握所学语言的多线程技术,因为周期、定时任务我们一般都在独立线程中等待触发或循环执行;




    • 对于一些语言(尤其解释型语言)来说,不当的方式可能代码逻辑上难处理,系统资源占用还高;






  4. 日志,各语言都有很多成熟的日志模块,且自行设计日志系统也并不复杂,但设计具有可交互界面的尤其带色彩的日志界面就不容易了,对于主流语言,如java、python、php等,他们都是作为后端使用,并不擅长做UI组件界面设计,界面是比较影响程序效率、稳定性的,尤其在多线程的后端程序中;


    本中间件就是针对上述四大问题,进行的功能封装,独立exe运行,具体来说就是:





优势:




  1. 应用服务端代码不需要再引入和编写比如数据库连接管理类代码,降低工作量。易于初学者上手,比如对于通常使用的数据库增删改查,你只需要知道sql语句怎么写即可;




  2. 分离连接池、日志、任务线程等到独立的exe,利于主程序的稳定性;




  3. 便于对接,任何编程语言皆可,只要实现了http请求到本中间件,即可得到结果;




  4. 小巧,相较其他解释型编程语言实现本系列功能,本独立中间件效率更高、系统资源占用小,受环境依赖基本无(windows系统运行即可,无需任何依赖);




权限验证:


中间件程序有一个IP白名单。


终端用户直接与本中间件进行http通讯,将会使比如mysql等面临风险(若要解除此限制,请自行修改主程序源代码)。


强烈建议,白名单仅限本机内网或指定IP进行连接。


使用帮助:



推荐:


不知如何安装mysql、redis等,可通过phpstudy,一键安装启动。


phpstudy:https://www.xp.cn/


SDK:


提供e、python、php、java的SDK,内容较为简单,仅是封装了请求。其他语言自行参考help的请求方式发送post对接。




  1. e语言




  2. python







  1. php




  2. java




感谢:



关于:


本程序遵从BSD开源协议,谢谢使用与参与改进,丰富功能。有问题欢迎留言,期望大佬们有使用到的不断完善与分享~


Github:https://github.com/Mruos/bl-mid-proxy


Gitee:https://gitee.com/burnlord/bl-mid-proxy


by:Mruos


QQ/wechat:812465371


web:burnlord.com


软件、插件、APP、小程序、网站……,可联系~



作者: lianzuo123    时间: 2021-3-1 11:13
这个好像还不错,
作者: sinewtec    时间: 2021-3-1 14:26
感谢分享 下载学习
作者: zhifu3158    时间: 2021-3-1 15:36
#在这里快速回复#新技能已get√
作者: wushuide    时间: 2021-3-1 16:07
好高级的学问,小白一脸懵逼
作者: 深圳梦    时间: 2021-3-1 20:55
支持开源~!感谢分享
作者: 点点丶滴滴    时间: 2021-3-2 03:25
瞅瞅看
作者: flfkhn2    时间: 2021-3-2 07:59
下载地址下载地址。。。
作者: Mruos    时间: 2021-3-2 09:20
flfkhn2 发表于 2021-3-2 07:59
下载地址下载地址。。。

github  gitee 下载
作者: 布鲁惠斯    时间: 2021-3-6 09:53
新技能已get√
作者: 噢噢    时间: 2021-3-8 12:35
支持开源~!感谢分享
作者: huoshanlangzhe    时间: 2021-3-8 12:42
666666666666666666666666
作者: 该死dē蚊子    时间: 2021-3-12 21:58
本来学易语言就是为了看得懂,你这个我又看不懂了。
作者: 地主大大    时间: 2021-6-12 10:58
本帖最后由 地主大大 于 2021-6-12 15:23 编辑

服务器是 2012 VM虚拟机      PHP SDK 功能返回正常:

{"errcode":200,"errmsg":"success","data":[{"id":1,"a1":"支fu测试","a2":"2018-04-28+11:49:04"}]}-*--------------------------

E出错
E 加载模块  :



mysql.init (“http://192.168.0.110/api/mysql”)
mysql.sql (“select a1 from cc”, res, errcode, errmsg)
调试输出 (errcode, errmsg, res)


返回 :

* 0 | “” | “<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->




不知道为什么.. 求解释



作者: y2j423633    时间: 2021-6-20 09:35
下载地址:请去github、gitee下载  
作者: 结局i    时间: 2021-11-23 17:43
在使用sql语句insert增加记录后用SELECT LAST_INSERT_ID()获取刚刚增加记录的主键ID经常为实际ID值的小1位数,如果中间件或者mysql重启后第一次获取还是0,是什么问题呢
作者: jysoft2022    时间: 2022-6-8 10:36
谢谢分享
作者: mywjt    时间: 2022-12-15 05:16
这个这么强,咋没人察觉。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4