wildfly 实践1 --分布式服务配置(服务端角)

实践背景:基于wildfly开发分布式服务,包括web服务,DBA(数据访问)服务及其它业务服务,全部使用分布式方式开发与部署。

实践1:分布式服务(服务端角色)配置

  1. 此实践使用两台机器部署服务,一台部署web服务(客户端角色),一台为其它服务如DBA(服务端角色),TCP服务等。
  2. 两台机器全部使用wildfly9做为服务容器。
  3. web服务器:192.168.50.253(eclipse开发环境在此机器上) ,DBA服务器 192.168.50.123
  4. 在50.123机器上运行add-user.sh/add-user.bat,且角色为application-realm,这里设置的用户为ejbuser,密码为123,设置此账号目的是当远程客户端(web所在的wildefly)在访问此服务时需要提供连接的账号与密码,如果不使用分布式服务,所有服务在一台机器时可不增加此用户。
  5. 配置数据库,本例在50.123机器上安装mysql服务,并在数据库中添加测试数据库与数据表,本例使用的数据库如图所示:
  6. 配置50.123机器的standalone.xml,增加mysql数据库驱动与数据源:
      1.   在 <subsystem xmlns="urn:jboss:domain:datasources:3.0">中的<datasources>节点下,增加如下配置:

        <datasource jta="true" jndi-name="java:/XboMdtDS" pool-name="XboMdtDS" enabled="true" use-ccm="true">
                            <connection-url>jdbc:mysql://192.168.50.123:3306/xbomdt</connection-url>
                            <driver-class>com.mysql.jdbc.Driver</driver-class>
                            <driver>mysql</driver>
                            <pool>
                                <min-pool-size>5</min-pool-size>
                                <initial-pool-size>5</initial-pool-size>
                                <max-pool-size>10</max-pool-size>
                            </pool>
                            <security>
                                <user-name>mysql</user-name>
                                <password>mysql</password>
                            </security>
                            <validation>
                                <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
                                <background-validation>true</background-validation>
                                <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
                            </validation>
                        </datasource>
      2. 在<subsystem xmlns="urn:jboss:domain:datasources:3.0">中的<drivers>节点下增加如下配置:

        <driver name="mysql" module="jdbc.mysql">
                                <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADatasource</xa-datasource-class>
                            </driver>
      3. 查看机器50.123上的wildfly是否有mysql jdbc模块,目录地址为:wildfly9\modules\system\layers\base\jdbc\mysql\main
        1. 如果有此目录且目录下有module.xml与mysql-connector*.jar,则路过此步骤。
        2. 如果没有相关目录与文件,则创建此目录并在此目录中增加module.xml,内容如下:

          <?xml version="1.0" encoding="UTF-8"?>
          
          <module xmlns="urn:jboss:module:1.3" name="jdbc.mysql">
          
              <resources>
                  <resource-root path="mysql-connector-java-5.1.38.jar"/>
              </resources>
              <dependencies>
                  <module name="javax.api"/>
                  <module name="javax.transaction.api"/>
              </dependencies>
          </module>
        3. 注明,上述配置中的 resource-root path 即为main目录中mysql-connector*.jar的文件名,我这里是
          mysql-connector-java-5.1.38.jar。
  7. 修改<interfaces>节点,配置如下:

     <interfaces>
            <interface name="management">
                <inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
            </interface>
            <interface name="public">
                <inet-address value="${jboss.bind.address:0.0.0.0}"/>
            </interface>
            <interface name="unsecure">
                <inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/>
            </interface>
        </interfaces>

    注:此配置目的是使用ip地址可访问服务,配置之前只能使用localhost或127.0.0.1访问。

  8.  运行wildfly/bin/目录下的 standalone.bat/standalone.sh,查看是否有错误输出,本示例中没有异常,且最后四行输出如为:

    2016-12-13 14:43:06,894 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-3) WFLYDS0013: Started FileSystemDeploymentService for directory /home/pacs/wildfly/standalone/deployments
    2016-12-13 14:43:07,133 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://0.0.0.0:9990/management
    2016-12-13 14:43:07,134 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://0.0.0.0:9990
    2016-12-13 14:43:07,134 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 9.0.2.Final (WildFly Core 1.0.2.Final) started in 4207ms - Started 209 of 385 services (210 services are lazy, passive or on-demand)
  9. 至此,50.123机器上的服务器配置完成。

 

时间: 2024-10-18 13:20:43

wildfly 实践1 --分布式服务配置(服务端角)的相关文章

wildfly 实践5 ---分布式服务中的JMS服务访问

实践条件与目标: 1. 分布式服务中主从服务相关配置 2. 从服务中主要代码片段展示 3. 此次使用wildfly10,因为其默认的jms服务是activemq. 步骤: 主服务配置中使用standalone-full.xml启动,其自带activemq模块. 使用adduser增加应用程序用户名称为guest,密码为guest,角色为guest,增加应用程序用户ejbuser,密码123. 配置文件中找到activemq模块,并修改配置如下: <subsystem xmlns="urn:

配置服务 apollo 部署实践

前言 ????Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景. github 地址:https://github.com/ctripcorp/apollo 服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器 Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Sp

oracle 配置服务端

oracle 配置服务端,类似我们配置java环境一样 防止乱码的配置: 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 选择数据库的配置(重要): 变量值:TNS_ADMIN 变量名:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN(就是你的oracle安装的目录) 这是我的path配置: D:\app\Administrator\product\11.2.0\dbhome

Spring Cloud 入门教程(四): 分布式环境下自动发现配置服务

前一章, 我们的Hello world应用服务,通过配置服务器Config Server获取到了我们配置的hello信息"hello world". 但自己的配置文件中必须配置config server的URL(http://localhost:8888), 如果把config server搬到另外一个独立IP上, 那么作为一个client的hello world应用必须修改自己的bootstrap.yml中的config server的URL地址.这明显是不够方便的. 既然confi

Linux之Web服务(2)Httpd服务配置之三

Linux之Web服务(2)Httpd服务配置之三 前言 默认安装的Httpd服务一般只有默认的一个DocumentRoot节点配置,及一个站点文档资源存放根目录,但是在生产环境中需要有多种分类的资源,比如用于外部访问和内部访问,又或者是资源本身类型,比如分别用来存放一些文档.图片.单项加密算法文件等,为了更好分配站点管理的资源,Httpd服务提供了VirtualHost及虚拟主机的配置,可以在一个Httpd服务下模拟进行部署多个站点,这样不同的站点进行不同的配置,更方便进行分布式管理. Vir

Linux之Web服务(2)Httpd服务配置之四

Linux之Web服务(2)Httpd服务配置之四 前言 接上一篇的虚拟主机,本片主要介绍虚拟主机的一些搭建和部署,本篇通过一个具体的案例来显示虚拟主机的作用和特性. 案例功能介绍: (1) 准备DNS解析3个域名或者添加/etc/hostst/3条主机名IP档案,解决域名解析 (2) 基于主机名实现三个虚拟主机 (3) 每虚拟主机使用独立的访问日志和错误日志 (4) 在第二个虚拟主机上提供/status: (5) 在第三个虚拟主机提供路径别名/bbs,访问其它文件系统路径: (6) 第三个虚拟

WCF学习之旅—WCF服务配置(十四)

一.概述 我们在前面章节中讲了寄宿,在前面的实例中也用到了配置文件,这一篇主要讲讲如何在应用配置文件,提高WCF程序的灵活性.在编写WCF服务应用程序时,编写配置项也是其中一项主要工作,在前面的几个示例中我也使用过配置文件,通过配置文件来简化代码.WCF通过公开终结点,向客户端公开服务,包括服务的地址.服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型等.当我们把这些配置项写入到配置文件后,我们无需编译即可修改WCF的一些可变信息,提高了程序的灵活性. 注意: 1)在代码里写了配置,

Apache httpd(apache2)服务配置详解,Mac下设置虚拟主机部署多个web项目,及反向代理部署Java项目

Apache httpd服务配置详解 查看版本:httpd -v Server version: Apache/2.4.33 (Unix) Server built:   Apr  3 2018 17:54:07 文件路径:/etc/apache2/httpd.conf # 服务目录(全局配置)用于指定Apache的安装路径,# 此选项参数值在安装Apache时系统会自动把Apache的路径写入ServerRoot "/usr" # 设置互斥对象的目录# Mutex default:/

ntp+freeipa+ssh服务配置

实验环境:workstation机器作为服务端,实现ntp服务 server1.server2.database作为客户端 实验要求:完成时间的同步 服务端访问客户端时,不需要密码,且不准root用户登陆 利用iPA服务实现用户管理 开始配置:  一:configure ntp service 1.使workstation机器作为服务端.获取asia的同步时间. vim /etc/ntpd.conf #server 0.centos.pool.ntp.orgiburst #server 1.ce