1.在实际部署时,如何从外部去指定数据库的配置(目前这些配置是在apollo提供的构建脚本buid.sh中指定的)
①apollo-adminservice和apollo-configservice的zip包解压后,分别在config目录下新建application-github.properties文件,在该文件中去指定configdb的配置。(adminservice和configservice连的都是configdb)格式如下:
spring.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username=YOUR_USERNAME
spring.datasource.password=YOUR_PASSWORD
②apollo-portal的zip包解压后,在config目录下新建application-github.properties文件,在该文件中指定portaldb的配置。(apollo-portal连的是portaldb)格式如下:
spring.datasource.url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username=YOUR_USERNAME
spring.datasource.password=YOUR_PASSWORD
2.关于JVM参数设置(Apollo提供的参考设置)
- Apollo-configservice
export JAVA_OPTS="-server -Xms6144m -Xmx6144m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:NewSize=4096m -XX:MaxNewSize=4096m -XX:SurvivorRatio=18"
- Apollo-adminservice
export JAVA_OPTS="-server -Xms2560m -Xmx2560m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:NewSize=1024m -XX:MaxNewSize=1024m -XX:SurvivorRatio=22"
- Apollo-portal
export JAVA_OPTS="-server -Xms4096m -Xmx4096m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:NewSize=1536m -XX:MaxNewSize=1536m -XX:SurvivorRatio=22"
3.Apollo实际部署时的网络策略:
- 由于admin-service 和config-service 需要将自己的ip和端口注册到meta-server(config-service)中去,Apollo的client和portal会从meta-server获取服务的地址。由于某些原因,有的网卡是client和portal无法访问到的。为了避免Apollo将这些网卡的ip注册到meta-server中,可以在启动admin-service和config-service时,可以通过以下方式去指定IP:
①-Deureka.instance.homePageUrl=http://${指定的IP}:${指定的Port} ②-Deureka.instance.ip-address=http://${指定的IP}