`
killko
  • 浏览: 102306 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Group-logo
Servicemix&Fu...
浏览量:0
社区版块
存档分类
最新评论

关于osg μservice和微服务

阅读更多
有些概念---它们不是一些规范标准,所以也没有明确的、具体的实现。因为对概念的理解角度未必一致,我们不能很明确评判一些具体的实现是否在这些概念的范畴之内。

关于服务化架构,就有很多这类的概念,例如:SOA、微服务。

到底什么是SOA?什么是微服务?业界只有一些条目说明,而没有清晰的、硬性的标准和规范。更没有参考实现之类的东西。

于是,不断有不同的实现或架构出来,宣称是SOA,是微服务。按实证主义观点来说,这些都是对的,因为没有标准去证伪,讲得通就行。

虽然当前微服务的概念炒得十分火热,但也不可否认这种多进程构建应用的架构会存在运维的压力,于是DevOps应运而生,试图用自动化运维、多实例部署等手段来解决运维和可靠性问题。

从本质上看,微服务更是为了解决互联网应用性能方面扩展的问题,而非结构方面的问题。可能有人说微服务把大的应用拆分成很多小的领域,分而治之,就解决了结构方面的问题,其实这个是忽略了运维方面的问题,无论应用被拆分得多细,但被拆出来的部分最终还是要组合成完整的应用,只是单体应用基于开发手段来组合,而微服务则基于运维的手段来组合,所以结构问题只是被转移了。

从这点看,单体应用的模块化和微服务在结构上都会有所帮助,避免了意大利面式的代码结构。

微服务架构要求通过独立进程部署达到自治,这是在边界上设定的架构约束,有利于优化领域的边界划分。这点和osgi的classloader隔离有类似的效果,所以osgi应用在设计时,也应该借鉴领域驱动设计的方法。

在服务化方面,osgi服务有动态的特性,这个动态性并非单纯的服务发布和服务下线的动态,还包含服务组装的动态性,这种特性称为Fast forwards。在osgi环境下,我们可以把很多细粒度服务组装成较粗粒度的服务,粗粒度服务依赖细粒度服务的存在而存在,当被依赖的服务下线时,依赖它的服务也立即下线,也就是说只要一个服务发布出来,它就是可用的,不会存在外部可调用,而内部却无能力的情况。

企业应用和互联网应用会有些不同,通常企业应用的结构会更复杂,但性能要求则远低于互联网应用。所以,企业应用不应只强调微服务,而忽视了模块化。

未完待续……



分享到:
评论

相关推荐

    关于OSG的应用和开发

    关于OSG OpenThreadsd.lib osgd.lib osgDBd.lib osgFXd.lib osgGAd.lib osgManipulatord.lib osgParticled.lib osgShadowd.lib osgSimd.lib osgTerraind.lib osgTextd.lib osgUtild.lib osgViewerd.lib

    OSG3.6.3+osgEarth2.10.1(VS2015/VS2017/VS2019-x64)开发库

    截止到2019/06/10日最新版本的osg和osgEarth开发库,新鲜出炉的VS2015/VS2017/VS2019-x64位版本的开发库,包含osg3.6.3和osgEarth2.10.1,以及使用Qt5.12.3编译的osgQt库,若需要使用其他版本的Qt,则需要从包内删除...

    osg3.6.3和osgearth3.1的编译全过程.docx

    使用vs2017和cmake编译osg3.6.3;编译osg3.1;并使用osgearth

    osg3.6.4-osgEarth2.10.2-x86-x64-VS2019开发库

    所以顺手用VS2019编译了32位和64位的osg和osgEarth开发库,特意打包上传过来,与大家分享,压缩包里边包含头文件/lib库/动态链接库+所有插件dll以及osg和osgEarth的一些应用exe。使用的编译器是vs2019版本,由于VS...

    osg2.8资料osg2.8资料osg2.8资料osg2.9资料

    osg2.9资料,osg2.9资料,osg2.9资料osg2.8资料osg2.8资料osg2.8资料osg2.8资料osg2.8资料osg2.8资料

    OSG载入地形和模型文件

    一个简单的OSG加载地形文件,还同时提供两个模型

    OSG和osgEarth帮助手册

    OSG和osgEarth帮助手册,新手学习的绝对利器,高手经常使用的好东西。

    osg-osgearth学习资料

    内含OSGEarth-2.8.chm、osgEarth手册.pdf、OSG_EARTH用户引导.pdf、OpenSceneGraphReferenceDocs-3.4.0.chm等学习资料,新手高手均使用的可靠资料啊。

    osg光照的实现

    一个关于osg光源的例子,包括全局光与混合光,此处设置光源的位置时可以移动的

    OsgEarth2.8 使用高程和影像

    OsgEarth2.8 vs2013 Qt5.4 环境下:osgearth2.8 加载谷歌影像和高程,初级教程,

    OSG核心源码解析_osg_OSG核心源码解析_

    OSG核心源码解析,对核心源码进行详细解析与说明

    osg节点轮流显示,隐藏和显示

    osg节点轮流显示,隐藏和显示 osg节点轮流显示,隐藏和显示 osg节点轮流显示,隐藏和显示

    Ogre与OSG的简单比较

    Ogre与OSG的简单比较 Ogre与OSG的简单比较 Ogre与OSG的简单比较

    osg_osgEarth_QT入门示例

    OSG_FILE_PATH为osg数据所在文件夹, REL_LIB_PATH为vcpkg下的bin位置, DBG_LIB_PATH为vcpkg的installed下debug/bin, INC_PATH为vcpkg的include路径 osgEarth中使用的tms文件可以用osgEarth源码包中其它示例替换

    OSG快速入门指导_osg_osg编程_

    openSceneGraph(简称OSG)使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API)。

    osg关键帧动画播放控制

    3.2 根据开始时间和结束时间选取关键帧, 3.3 将关键帧压入通道,将通道赋给动画, 3.4 将动画注册到新的动画管理器中 3.5 将新的动画管理器设置为场景的新的更新回调。 4、如有必要,可以写出为osg格式的数据...

    OSGEarth-2.10.2.rar

    osgEarth是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了瓦片调度插件,可选的四叉树调度插件,更多的地理数据加载插件(包括GDAL,ogr,WMS,TMS,VPB,filesystem等),再结合一套地理投影转换插件...

    osgEarth入门教程

    osgEarth入门教程 中文版总结 学习osgearth的资料很少,这个是难的的

    OSG3.6.3+osgEarth2.10(VS2010-x64)开发库

    截止到2018/12/20日最新版本的osg和osgEarth开发库,最近刚编译的VS2010-64位版本的开发库,包含osg3.6.3和osgEarth2.10,里边包含 头文件/lib库/动态链接库,编译器使用的是vs2010,这是 x64 版本的开发库

Global site tag (gtag.js) - Google Analytics