直接 *** 作数据库和通过中间件 *** 作数据库的区别?

直接 *** 作数据库和通过中间件 *** 作数据库的区别?,第1张

个人觉得:

好处:

1 首先,直接 *** 作数据库,速度有所保证

2 sql直接写,灵活,当然前提是你对sql的语句要强。

中间件

1 可以以 *** 作对象的方式 *** 作数据库

2 有成熟的回滚机制。

坏处:

直接 *** 作数据库,如果对回滚方式不明确,可能导致垃圾数据。

*** 作中间价需要了解中间件的相关 *** 作机制。

*** 作中间价 *** 作数据库,有时会有所限制,不灵活。

1、直连数据库

Python直连到云数据库上,与本地 *** 作都一样,只不过数据库IP由内网IP转为云服务器IP。这种情况你需要注意的是

直连数据库时所需要的敏感信息(数据库名,数据库账号,数据库密码)需要通过加解密手法,尽量避免泄露;

开放云数据库的远程访问权限,这个方面就是需要调防火墙(没有防火墙就跳过),另外如果是MySQL,需要把数据库账号设置为允许远程访问的状态,这个网上有教程,仔细看都没问题;

直连数据库优点在于开发简单,我们不需要考虑tcp层如何运作,但缺点是容易数据库暴露,被人拿到数据库数据;

2、中间件

云服务器上部署中间件,中间件有两种:tcp和http,无论那种你都需要构建好自己的通信协议,敏感数据加解密协议等等,在中间件框架下完成原直连数据库所进行的交互 *** 作,如果用的人多了还要考虑性能问题。当然,如果用中间件,数据库是不需要开放远程访问权限的(如果有防火墙,是需要在防火墙中,允许中间件端口的通信)。

中间件优点在于只要没出什么大bug,不会泄露数据库,缺点在于开发难度上;

此实现使用中间层连接池管理器。分布式事务实现一产生一个可以用于分布式事务的Connection对象,并且几乎总是参与连接池。此实现使用中间层事务管理器,并且几乎总是使用连接池管理器。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6624521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-25
下一篇 2023-03-25

发表评论

登录后才能评论

评论列表(0条)

保存