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

关于osg μservice和微服务

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

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

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

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

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

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

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

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

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

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

未完待续……



分享到:
评论

相关推荐

    osg3.7.0、osgearth3.4和osgQt和第三方库

    标题中的“osg3.7.0、osgearth3.4和osgQt”是三个关键的开源项目,它们在计算机图形学和地理信息系统领域有广泛应用。接下来,我们将详细探讨这三个组件以及与之相关的第三方库。 osg(OpenSceneGraph)是一个高...

    osgEarth3.2和qt5.9集成在vs中加载shp文件。

    在本文中,我们将深入探讨如何在Visual Studio (VS)环境中集成osgEarth 3.2与Qt 5.9,以便加载和操作Shapefile(SHP)文件。osgEarth是一个基于OpenSceneGraph(OSG)的开源库,它提供了一种方便的方式来加载和显示...

    Osg3.4和OsgEarth2.8编译库_x64.7z

    6. **测试和使用**:使用提供的SDK(如压缩包中的OsgEarth2.8_SDK和Osg3.4.0_SDK),可以快速开始开发。SDK通常包含预编译的库文件、头文件、示例代码和文档,方便开发者直接引用。 7. **示例运行**:运行SDK中的...

    OSG程序设计教程.zip_OSG程序设计_osg 地_osg例子_osg回调_osg的一些例子代码

    附书源码中的"OSG程序设计教程"可能是一个全面的指南,包含了关于OSG的详细讲解和实践练习。通过阅读文档和运行示例,你可以深入理解OSG的工作原理和最佳实践。 总的来说,这个教程对于想要进入3D图形编程领域,...

    osg和osgEarth的依赖.zip

    OSG(OpenSceneGraph)和osgEarth是两个在三维图形渲染和地理信息系统中广泛应用的开源库。它们在游戏开发、虚拟现实、地球科学可视化等领域有着广泛的应用。了解这两个库的依赖项对于正确安装和使用它们至关重要。 ...

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

    4. **视图与相机**:OSG提供了灵活的视图和相机模型,允许用户设置不同的视角和投影方式。源码解析会揭示这些功能背后的实现细节。 5. **动画与动态更新**:OSG支持时间驱动的动画系统,包括关键帧动画和基于插值的...

    OSG载入地形和模型文件

    在OpenSceneGraph (OSG) 中,加载地形和模型文件是一项基本操作,它允许开发者创建交互式的3D场景。OpenSceneGraph是一个开源的C++图形库,专为高性能的实时3D图形设计,广泛应用于科学可视化、游戏开发、虚拟现实等...

    Windows10系统下OSG3.6.5和OSGEarth3.1动态库[Debug和Release版本]

    在Windows 10操作系统中,OSG(OpenSceneGraph)3.6.5和OSGEarth 3.1是两个重要的开源图形库,主要用于构建3D地理信息系统和虚拟现实应用。这两个库提供了丰富的功能,包括地形渲染、纹理映射、光照效果、动画支持...

    关于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

    osgearth_package是osgEarth的切片打包工具,能够生成地形切片和影像TMS切片

    osgEarth_package是osgEarth框架下的一款工具,专用于创建地形和影像的TMS(Tile Map Service)切片。TMS是一种将大图像分块存储的机制,便于网络传输和快速加载,广泛应用于地图服务中。 首先,我们来详细了解一下...

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

    总结来说,编译osg和osgEarth涉及到下载源代码、依赖库以及数据资源,使用cmake配置编译选项,并在编译完成后设置环境变量。尽管过程可能复杂,但按照上述步骤操作,应该能够成功编译并使用这两个库。对于初学者来说...

    Ogre与OSG的简单比较

    - **平台支持**:OSG同样支持Windows、Linux和Mac OS X等操作系统,并且兼容Direct3D和OpenGL。 - **模块化设计**:OSG采用了模块化的设计思路,使得开发者可以根据需要选择加载特定的模块,从而提高应用的性能和...

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

    这个压缩包文件“OpenSceneGraph-2.9.5”包含的是关于OSG 2.9版本的相关资料,主要可能包括源代码、文档、示例程序、库文件等,用于开发和学习OpenSceneGraph的高级特性。 OpenSceneGraph是一个高度优化的C++库,它...

    OSG3.1.4+ osgEarth2.3已编译好的

    **osg和osgEarth简介** osg(OpenSceneGraph)是一个开源的3D图形库,它基于OpenGL,用于构建高性能的3D应用。OSG提供了一系列高级功能,如场景管理、动画系统、几何处理、光照和纹理处理等,为开发者提供了一个...

    如何在OsgEarth中加载谷歌卫星地图的ArcGISServer服务教程

    知识点:ArcGIS 10.2 和 osgEarth 2.5 是常用的版本。ArcGIS 10.2 是 ESRI 公司发布的 ArcGIS 软件的版本,osgEarth 2.5 是 OsgEarth 的版本。 8. 使用 ArcGIS Manager 可以管理和配置 ArcGIS Server 的服务。 ...

    OSG三维渲染引擎编程指南+OSG-Cookbook(英文)+OSG程序设计教程+OSG三维渲染引擎设计与实践

    这个压缩包包含了四本关于OSG编程的重要参考资料,涵盖了从基础到高级的各个方面,适合对OSG感兴趣的开发者深入学习。 1. **《OSG三维渲染引擎编程指南》**:这本书可能是入门OSG的首选资料,它详细介绍了如何使用...

    osgEarth数据组织.zip_osg_osg 组织_osgearth_osgearth数据

    这个压缩包文件“osgEarth数据组织.zip”包含的内容是关于如何在OSGEarth中组织和使用这些数据的参考资料。 首先,我们要理解OSGEarth的数据结构。OSGEarth的核心是地球模型,它由一系列的层次组成,每个层次可以...

    OSG Data数据包和第三方库

    同时,了解如何利用OSG提供的加载器(`osgDB::readNodeFile()`)加载不同格式的模型,以及如何使用OSG的渲染和动画机制,如状态集(`osg::StateSet`)、几何节点(`osg::Geometry`)和行为节点(`osg::AnimationPath...

    osg_multiViewer用osg实现多视图

    通过深入理解OSG的相机、视口和渲染机制,开发者能够构建出具有高级交互和视觉效果的应用程序。如果你希望进一步探索这个话题,可以下载并研究提供的"osg_multiViewer"源代码,这将有助于加深对OSG多视图实现的理解...

Global site tag (gtag.js) - Google Analytics