当前位置: 首页 > news >正文

北京网站建设专业乐云seo湖南株洲发布最新消息

北京网站建设专业乐云seo,湖南株洲发布最新消息,八宝山网站建设,网站设计怎么学jboss fuse 教程红帽公司最近发布了一个微服务集成工具包#xff0c;用于在OpenShift v3的Docker和Kubernetes环境中运行我们的微服务。 为了帮助人们更好地理解这一点#xff0c;我将Rider Auto应用程序迁移到一组微服务中#xff0c;该应用程序已经存在了一段时间#xf… jboss fuse 教程 红帽公司最近发布了一个微服务集成工具包用于在OpenShift v3的Docker和Kubernetes环境中运行我们的微服务。 为了帮助人们更好地理解这一点我将Rider Auto应用程序迁移到一组微服务中该应用程序已经存在了一段时间该应用程序用于演示Apache Camel和JBoss Fuse可以通过Docker容器在OpenShift / Kubernetes上运行。 该博客详细介绍了一些背景知识并指出了针对非平凡应用程序的“操作方法”的特定示例。 我还将制作一组视频来演示此操作因此请关注此博客 http://blog.christianposta.com 进行更新或者在Twitter christianposta上关注我。 什么是用于OpenShift的保险丝集成服务FIS FIS是来自fabric8.io上游社区的一组开发人员工具和Docker映像用于打包和部署我们的应用程序该应用程序遵循微服务架构以及围绕应用程序部署版本控制和生命周期管理的最佳做法从而适合模型。 FIS是OpenShift上的Fuse的Red Hat支持的选项。 部署Fuse Integration Services的两种主要方法是通过Fuse传统上使用的基于OSGI的Karaf方法以及一种更简单的平面类加载器选项该选项从简单的旧Java main引导Camel。 这两个选项都打包并作为Docker容器交付。 两者都是不错的选择具体取决于您的工作因此让我们来看一下。 骆驼靴 Camel Boot是JVM引导程序选项它使我们可以使用maven项目使用的相同类路径来打包应用程序并使用Plain Old Java Main来启动Apache Camel集成。 这种方法具有许多优点可以简化构建组装分发和运行我们的微服务。 最重要的是我们不必猜测我们的应用程序行为是基于复杂的类加载器的层次结构或图形的也不是我们是否包含了正确的元数据和依赖项以便类可以解析或碰撞/覆盖/覆盖/动态加载/等等。 。 我们可以通过仅使用一个单一的平面类加载器来简化模型从而不仅在Dev中而且在整个应用程序生命周期例如ISTUATPMPROD等中都更容易推理应用程序。 由于此选项并不打算部署在任何应用程序服务器Java EE应用程序服务器Servlet容器OSGI容器等中因此我们将依靠我们的应用程序来提供“恰到好处”的功能否则您将在应用服务器-诸如HTTPJMS持久性等内容。因此您可以在我们的应用中嵌入Jetty或Undertow服务器以获取REST或SOAP端点的HTTP服务并可以嵌入Spring-JMS和ActiveMQ库之类的JMS客户端以获取消息客户。 由于所有这些依赖项都作为应用程序的一部分包含在内并且可以独立于任何应用程序服务器启动停止重新部署等因此这也使对应用程序进行单元测试变得更加容易。 我建议在大多数用例中使用Camel Boot选项在这些用例中您已经分解了应用程序并对其进行了模块化并且需要分别运行调整扩展和推理它们。 但是在某些情况下将服务并置在一起是必要的并且只要应用程序类路径不会变得太复杂即相互依赖的依赖关系Camel Boot应该是一个不错的选择。 如果由于内聚的位于同一位置的服务而使微服务变得复杂请考虑使用Apache Karaf的下一个选项该选项可让您精细地控制类加载器的行为并在单个app / JVM进程中隔离模块和API。 “不变”的Apache Karaf Fuse Integration Services还提供了一个部署到基于Apache Karaf的JVM的选项尽管该模型略有不同因为我们遵循“不可变”部署的Docker模型。 在将应用程序热部署/重新部署到正在运行的JVM中/从中撤出应用程序之后很难推断出JVM的状态。 实际上由于JVM在运行时的这种“动态”可变性您可能会遇到令人讨厌的难以识别的JVM泄漏 尤其是在生产中是个坏主意。 FIS鼓励的模型是“用旧版本替换旧版本”之一并依靠集群管理器通过滚动升级或蓝绿色部署等为您精心安排 这对于FIS的Apache Karaf意味着什么 不建议在运行时动态加载和卸载包或更改配置值以更改应用程序状态。 相反我们鼓励可预测的启动顺序理解的配置值以及将预烘焙的应用程序移植到JVM中。 如果需要更改那么您将通过应用程序交付管道来更改/构建/测试/部署新版本理想情况下是通过CI / CD流程就像上述Camel-Boot选项一样。 因此对于Karaf for FIS您的应用程序及其所有依赖项在构建时会打包安装解析并构建到一个Karaf程序集中 这是Karaf的自定义发行版其中包含您的应用程序。 部署时无需再猜测OSGI元数据和类解析 如果事情无法解决所有这些都是预先计算的并且在构建时会快速失败。 如果构建成功您将对OSGI应用程序更有信心。 尽管大多数情况下建议使用Camel Boot选项但对于OpenShift / Kubernetes / Docker之外的现有JBoss Fuse部署此基于Karaf的选项可能是将现有Fuse工作负载迁移到此模型的最佳选择并利用CI / CD 服务发现集群管理等-已内置在OpenShift中。 同样如果您要同时放置许多最终污染平面类路径的服务那么不变的Karaf选项非常适合提供更精细的类路径隔离和API /模块化建模。 部署到Kubernetes / OpenShift 要部署到OpenShift我们需要执行以下操作 打包我们的JVM骆驼引导或不可变的karaf 构建我们的Docker容器 生成并应用我们的OpenShift / Kubernetes配置 包装骆驼靴应用 要打包我们的Camel Boot应用程序我们需要做的就是包括一个maven build/插件来为我们处理所有这些事情。 plugingroupIdio.fabric8/groupIdartifactIdhawt-app-maven-plugin/artifactIdversion${fabric8.version}/versionexecutionsexecutionidhawt-app/idgoalsgoalbuild/goal/goalsconfigurationjavaMainClassorg.apache.camel.spring.Main/javaMainClass/configuration/execution/executions /plugin 在上述hawt-app-maven-plugin配置中我们可以看到我们只指定了一个普通的旧Java Main它将骆驼引导到依赖项注入上下文或您的选择SpringCDI等中并发现您的所有Spring / CDI资源以及发现和启动您的骆驼路线。 可以使用的Main.java文件的不同类型是 org.apache.camel.spring.Main –发现您的Spring上下文文件默认位置META-INF / spring / *。xml org.apache.camel.cdi.Main –加载CDI容器和Camel路由bean org.apache.camel.main.Main –没有依赖项注入容器 默认的SimpleRegistry实现 org.apache.camel.spring.javaconfig.Main使用Java配置的Spring配置 org.apache.camel.guice.Main – Guice依赖注入容器 可能还值得在您的pom.xml添加exec-maven-plugin 以便您可以尝试并通过上述Java Main尝试进行引导 plugingroupIdorg.codehaus.mojo/groupIdartifactIdexec-maven-plugin/artifactIdversion1.4.0/versionconfigurationmainClassorg.apache.camel.spring.Main/mainClass/configuration /plugin 然后如果您键入mvn exec:java您将获得与与hawt-app-maven-plugin打包的应用程序相同的行为该应用程序保留了我们独立Camel Boot微服务的Maven类路径的顺序和行为。 当您进行Maven构建时您应该在zip / tar.gz文件中看到您的应用与Maven依赖关系打包在一起。 如果您解压缩该文件则会有一个bin/run.sh文件可用于启动您的骆驼微服务。 要将其转换为Docker映像请将以下docker-maven-plugin到pom.xml plugingroupIdorg.jolokia/groupIdartifactIddocker-maven-plugin/artifactIdversion${docker.maven.plugin.version}/versionconfigurationimagesimagenameour-company/app-name:1.0/namebuildfromjboss-fuse-6/fis-java-openshift:1.0/fromassemblybasedir/deployments/basedirdescriptorRefhawt-app/descriptorRef/assemblyenvJAVA_LIB_DIR/deployments/lib/JAVA_LIB_DIRJAVA_MAIN_CLASSorg.apache.camel.spring.Main/JAVA_MAIN_CLASS/env/build/image/images/configuration /plugin 有关设置和运行它的更多详细说明请参阅Rider Auto OpenShift文档。 打包不可变的Karaf应用 如果您正在执行基于Karaf的微服务我们将遵循与Camel Boot类似的路径。 通过将插件添加到我们的maven构建中我们将使用karaf-maven-plugin将我们的Karaf应用打包到一个不变的Karaf程序karaf-maven-plugin plugingroupIdorg.apache.karaf.tooling/groupIdartifactIdkaraf-maven-plugin/artifactIdversion${karaf.plugin.version}/versionextensionstrue/extensionsexecutionsexecutionidkaraf-assembly/idgoalsgoalassembly/goal/goalsphaseinstall/phase/executionexecutionidkaraf-archive/idgoalsgoalarchive/goal/goalsphaseinstall/phase/execution/executionsconfigurationkarafVersionv24/karafVersionjavase1.8/javaseuseReferenceUrlstrue/useReferenceUrls!-- do not include build output directory --includeBuildOutputDirectoryfalse/includeBuildOutputDirectory!-- no startupFeatures --startupFeaturesfeaturekaraf-framework/featurefeatureshell/featurefeaturejaas/featurefeaturespring/featurefeaturecamel-spring/featurefeaturecamel-jaxb/featurefeaturecamel-cxf/featurefeaturecamel-bindy/featurefeaturecxf-http-jetty/featurefeatureactivemq-client/featurefeatureactivemq-camel/feature/startupFeaturesstartupBundles!-- this needs to be here for spring-dm to resolve properly!!--bundlemvn:org.apache.karaf.bundle/org.apache.karaf.bundle.core/3.0.4/bundlebundlemvn:io.fabric8.mq/mq-client/2.2.0.redhat-079/bundlebundlemvn:io.fabric8/fabric8-utils/2.2.0.redhat-079/bundlebundlemvn:${project.groupId}/${project.artifactId}/${project.version}/bundle/startupBundles/configuration /plugin 请注意上面的示例使用我们的微服务模块/ API构建了Karaf的完整发行版并将所有依赖项烘焙到发行版中。 您可以在配置中看到我们可以精确控制要预发布到发行版中的功能包JRE等。 还应使用docker-maven-plugin为该模块构建Docker映像。 再次查看Rider Auto OpenShift文档以获取完整的正在运行的示例。 生成OpenShift / Kubernetes组件清单 目前FIS有两个用于生成OpenShift / Kubernetes清单文件的选项json / yaml –尽管目前仅支持JSON选项。在上游社区中我们也支持yaml选项。 要生成复制控制器/ Pods /服务我们需要添加fabric8-maven-plugin和一些maven properties/ plugingroupIdio.fabric8/groupIdartifactIdfabric8-maven-plugin/artifactIdversion${fabric8.version}/versionexecutionsexecutionidjson/idphasegenerate-resources/phasegoalsgoaljson/goal/goals/executionexecutionidattach/idphasepackage/phasegoalsgoalattach/goal/goals/execution/executions /pluginfabric8.service.name${project.artifactId}/fabric8.service.namefabric8.service.headlesstrue/fabric8.service.headlessfabric8.metrics.scrapetrue/fabric8.metrics.scrapefabric8.metrics.port9779/fabric8.metrics.portdocker.port.container.soap8183/docker.port.container.soapfabric8.service.name${project.artifactId}/fabric8.service.namefabric8.service.port80/fabric8.service.portfabric8.service.containerPort8183/fabric8.service.containerPort 使用这些pom.xml条目我们可以执行mvn fabric8:json并生成kubernetes.json文件到target/classes/kubernetes.json 。 我们还可以使用类型安全的DSL来增强或生成kubernetes.json文件从而生成更高级的Kubernetes清单对象例如PersistentVolumesSecrets多种服务等。 有关一些示例和说明请参见rider-auto-file模块。 Rider Auto微服务回购中展示的功能 请查看Rider Auto项目以了解有关这些功能的更多详细信息 使用fabric8 maven插件生成kubrenetes.json文件 使用类型安全的DSL将PersistentVolumes添加到kubernetes.json文件 构建Camel Boot应用 构建不可变的Karaf应用 在kubernetes环境中发现JBoss AMQ 为Camel Boot和不可变的Karaf构建Docker映像 将应用程序部署到OpenShift 如何将多个kubernets.json文件合并到一个kubernetes.json文件中以进行“多合一”部署 连接到本地/远程docker守护程序/ openshift安装 通过Kubernetes Services公开SOAP和REST HTTP服务 在Karaf中使用Spring Kubernetes与fabric8-arquillian的集成测试 翻译自: https://www.javacodegeeks.com/2016/02/cloud-native-camel-riding-jboss-fuse-openshift.htmljboss fuse 教程
http://www.zqtcl.cn/news/860862/

相关文章:

  • 舟山外贸建站公司制作公司简介
  • 菜鸟是什么网站威海网站建设费用
  • 网站开发花费如何制作个人网页兼职
  • 网站鼠标特效用户体验最好的网站
  • 网站设计步骤图南通网站建设公司
  • 做盗版系统网站会不会开发次元世界
  • 下载爱南宁官方网站手机app开发软件有哪些
  • 云浮网站设计不收费的企业查询网站
  • 网站栏目怎么做iis网站筛选器被挂马
  • 网站开发中遇到的主要问题品牌营销策略包括哪些内容
  • 网站制作易捷网络十大社区团购平台有哪些
  • 哈尔滨口碑好的建站公司做网站制作一般多少钱
  • 河南网站网站制作华为品牌vi设计
  • 网站设置默认主页甘肃省第八建设集团公司网站
  • 自己做网站美工关键词优化排名网站
  • 淄博手机网站建设报价商业网站地方频道
  • 小说网站开发业务逻辑php 网站
  • 专业的做网站动态个人网站模板
  • 设计师网站设计网站开发试题库
  • 做网站是用c 吗东莞网络推广优化
  • 外贸soho网站建设wordpress配置搜索引擎优化
  • 嘉兴网站公司安卓优化大师2023
  • 电影网站开发影院座位问题正能量网站大全
  • dede手机网站更新成安专业做网站
  • 做能支付的网站贵吗品牌策划费用
  • 营销网站开发网站建设工作室
  • 如何把自己做的网站挂网上网页版梦幻西游红色伙伴搭配
  • 网站正在建设中 倒计时软件开发培训机构找极客时间
  • 贵阳网站建设搜q479185700大学网站栏目建设
  • 开发网站找什么公司吗电影网站域名