研究人员发现55个安全漏洞
|
2.1 代码层 Spring中有动态切换数据源的抽象类,具体参见AbstractRoutingDataSource。 如果项目不是很庞大,使用这种方式能够快速的进行分库。但缺点也是显而易见的,这种海量的代码侵入是绝不能被接受的。 而且当查询结果返回时,需要对跨库、聚合等查询结果进行归并,开发工作量非常巨大。 这种方式了解一下即可,一般不会去使用。
2.2 框架层 常见的比如实现一些拦截器(比如Mybatis的Interceptor接口),增加一些自定义解析来控制数据的流向,效果虽然较好,但会改变一些现有的编程经验。 这种情况适合公司ORM框架统一的情况,但在很多情况下不太现实。 而且大部分情况下要修改框架源码,因此,也不推荐。
2.3 驱动层 因此,常见的数据库中间件,至少需要从驱动层开始,我们可以理解为一个smart-client。 什么意思是smart-client呢? 通常smart-client是在连接池或者driver的基础上进行了一层封装。 这个smart-client内部可以与不同的数据库建立连接。 服务需要查询的sql,就交给smart-client进行解析、优化,然后发送给具体的数据库进行操作。
例如在读写分离情况下,smart-client会选择sql走从库还是主库;在分库分表的情况下,进行sql解析、sql改写等操作,然后路由到不同的分库,将得到的结果进行合并,返回给应用。 至于这两条发展路线孰优孰劣,目前还尚未定论,但可以肯定的是IBM想要发展的开放式混合云一定会遭遇几大公有云厂商的激烈竞争和蚕食。只是按IBM的设想,这一市场的总量足够大,总有自己的一席生存之地。那么,就IBM来说,这次分拆之后,IBM保留混合云和人工智能业务,能够在未来逆风翻盘吗?
孤注一掷的IBM,想要成功不容易 首先,云计算和人工智能几乎是所有互联网巨头和传统科技巨头重点投入的方向,IBM此举自然是顺应大势,得到资本市场认可不足为奇。其次,剥离低利润的传统业务,保留高利润的成长型业务,符合资本市场预期,也符合IBM的发展战略;第三,业务分离之后,IBM主体业务可以轻装上阵,避免IT基础设施业务的一些钳制,全力主攻混合云和人工智能市场,战斗力会更加聚焦。 IBM布局开放式混合云和人工智能的决心,不可谓不强,收购红帽和这次的公司分拆,就是其下定决心的表现。但是企业战略能否成功与否不仅取决于决心,更取决于执行。 所以我们要问一句,IBM这一次的分拆和押注会成功吗?
从历次的分拆和业务剥离的经验来看,其对IBM的业务增长并没有太大作用,从90年代剥离的网络业务、到后来的PC、硬盘和服务器业务,都并未对IBM的增长驱动形成更大的推动作用,更大的意义在于避免了企业过于臃肿的风险。 (编辑:信阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
