微服务架构之SOA思想
SOA思想
1.1 SOA思想介绍
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构件在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
核心概念:面向服务的架构。
特点:
-
分布式的思想 根据业务进行拆分。
-
粗粒度的服务接口分级。
-
标准化的服务接口
-
可从企业外部访问
-
随时可用,可重用的服务
-
松散耦合:服务之间、接口与实现之间、业务组件和传输协议之间
-
支持各种消息模式
-
精确定义的服务契约
1.2将SOA用于开发来说
说明:以后的开发中,为了让系统统一的完成调用.则可以采用SOA的方式进行管理。
接口:
-
1.可以是具体的Service接口
-
2.可以具体的url的请求路径
-
但凡前台可以与后台进行交互的都可以称之为接口。
1.3.对于整个大局来说
1.3.1 企业需求
一个是“信息孤岛”造成基于系统之间互联互通的整合需求;另一个是业务的变化所导致对IT灵活性,以适应变化的需求。
目前国内外基本情况类似,经过30年的信息化建设,许多企业都在不同时期、应用不同技术、与不同的厂商合作,建设了不同规模的应用系统,造成了信息化不是没有系统,而是信息孤岛太多的问题,而且不是没有数据,而是信息不一致,难以整合。因此,互连互通是当前信息化中的核心问题和核心需求。顺便说一句,那些认为中国企业的信息化起步晚,历史负担少,可以快速部署全新SOA,可以运用推倒重来的策略是不了解中国企业信息化,自我想当然的结果。事实上,我国信息化无论是金融、电信、电力等大行业,还是中小工商企业,“孤岛现象”还是非常严重,遗留系统的整合不一定就少,而且我国软件供应商的系统普遍架构能力比较弱,整合难度一点也不低。
这种互联互通需求,既包括企业内的各种应用系统之间的集成,也包括集团企业总部与下属企业、企业与上下游伙伴之间的业务协同。
用一个图对大家进行展示SOA基本的面向服务架构:
技术需要
软件出现最早是用于科学计算,然后是计算机辅助设计、辅助制造等等工业应用。在企业管理领域大规模应用后,业务需求不断的变化、系统不断增加、流程更复杂、系统越来越不堪重负,出现了需求交付方面的重大挑战,以至于人们用“软件危机”来描述软件工业所面临的困境。
软件技术发展过程中,一直在寻求解决四个基本问题的方法:质量问题、效率问题、互操作问题、柔性构造问题。这些问题今天依然困扰着软件行业。
造成这个局面的原因是异构性和标准规范的滞后。
而SOA可以实现:
- 屏蔽异构型
- 实现互操作
- 共性凝练和复用
参考:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
探秘 ThreadLocal 的实现机制与小地雷
Java 多线程类库对于共享数据的读写访问主要采用同步机制来保证线程安全,而本文所要探究的 ThreadLocal 则采用了一种完全不同的策略,它不是用来解决共享数据的并发访问问题的,ThreadLocal 让每个线程都将目标数据复制一份作为线程私有,后续对于该数据的操作都是在各自私有的副本上进行,线程之间彼此相互隔离,也就不存在竞争问题。 下面的例子演示了 ThreadLocal 的典型应用场景。在 jdk 1.8 之前,如果我们希望对日期和时间进行格式化操作,则需要使用 SimpleDateFormat 类,而我们知道它是是线程不安全的,在多线程并发执行时会出现一些奇怪的问题。对于该类使用的最佳实践则是采用 ThreadLocal 进行包装,以保证每个线程都有一份属于自己的 SimpleDateFormat 对象,如下所示: ThreadLocal<SimpleDateFormat> sdf = new ThreadLocal<SimpleDateFormat>() { @Override protected SimpleDateFormat initial...
- 下一篇
深度学习中的信息论
本文首发自公众号:RAIS,期待你的关注。 前言 本系列文章为 《Deep Learning》 读书笔记,可以参看原书一起阅读,效果更佳。 信息论 信息论是数学上一个分支,非常重要,包括你能看到这篇文章信息的传输信息论在其中都发挥了极其重要的作用,我就不赘述了,我们还是讨论更学术更专业性的知识。 量化信息 非常可能的事情包含较少的信息; 较不可能的事情包含更高的信息; 独立的事件具有增量的信息。 自信息 香农熵 本是热力学中的概念,被香农引入到信息论中,因此也被称为信息熵或香农熵。不准确点说,熵是用来衡量混乱程度的。越混乱,熵越大,要弄清楚情况所需要的信息越多。 其中 P 为 X 的概率质量函数,上一篇文章中介绍过。其中的 b 不同时对应的结果单位不同(机器学习中,用自然对数 e 为底,单位为 奈特)。对于连续变量则被称为 微分熵。 相对熵 也叫 KL 散度,具有非负的特性。可以用来衡量两个分布之间的差异,用 p 分布近似 q 的分布,相对熵可以计算这个中间的损失,但是不对称(p 对 q 和 q 对 p 不相等),因此不能表示两个分布之间的距离。 交叉熵 用来度量两个概率分布之间的差...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度