1.5 使用Spring Boot来构建微服务
- 启动服务命令
mvn spring-boot:run
1.9 微服务不只是编写代码
- 编写健壮的服务需要考虑的几个主题(见图1-7v )P14
1.9.6 微服务构建和部署模式
- 微服务架构的核心原则之一是,微服务的每个实例都应该和其他所有实例相同。通过创建包含微服务的Docker镜像可以实现。 P20
- 持续集成/持续交付管道(见图1-13) P21
1.9.10 使用Spring Cloud构建微服务
- 持续集成Travis CI
2.3.3
- 最全面的REST服务设计方面的著作可能是Ian Robinson等人的《REST in Practice》 P40注解
- Apache Thrift框架允许构建使用二进制协议相互通信的多语言服务
- Apache Avro协议是一种数据序列化协议,可在客户端和服务器调用之间将数据转换为二进制格式。
2.4 DevOps工程师的故事:构建运行时的严谨性
- 构建微服务的12种最佳实践 P45最下方
- 将运行时引擎嵌入可部署制品中的做法消除了许多配置漂移的可能性。它还允许将整个制品置于源代码控制之下,并允许应用程序团队更好地思考他们的应用程序是如何构建和部署的。 P47
3.1.2 管理配置(和复杂性)
- 管理配置开源项目 P56
3.2 构建Spring Cloud配置服务器
- BOM(Bill of Materials)P59
- 应用程序配置文件的命名约定:应用程序名称-环境名称.yml P60
3.3.2 配置许可证服务以使用Spring Cloud Config
保证服务可以与Spring Cloud Config服务进行通信,需要在resources/bootstrap.yml文件中设置3个属性
- spring.application.name:指定配置服务的名称,以便Spring Cloud Config客户端指定正在查找哪个服务
- spring.profiles.active:指定服务应该运行的默认profile oprofile映射到环境
- spring.cloud.config.uri:指定Spring Cloud Config服务器的位置
- 以上内容在P66
- 启动jar时用-D覆盖参数 P67
- /env端点将提供有关服务的配置信息的完整列表,但在生产环境中需要使用Actuator正确配置,避免暴露太多的信息 P68、69 http://localhost:8888/licensingservice/env
- http://localhost:8888/licensingservice/default、dev、prod也需要注意
3.3.4 使用@Value注解直接读取属性 P72
3.3.5 使用Spring Cloud配置服务器和Git P73
3.3.6 使用Spring Cloud配置服务器刷新属性
- @RefreshScope注解只会重新加载应用程序配置中的自定义Spring属性,要执行刷新,可以访问http://:8080/refresh端点。 P74
Mac安装OpenJDK1.8(非必要)
方法一
- 直接下载安装:https://adoptopenjdk.net/archive.html?variant=openjdk8
- 下载地址:https://github.com/AdoptOpenJDK/openjdk8-releases/releases/download/jdk8u172-b11/OpenJDK8_x64_Mac_jdk8u172-b11.tar.gz
- 方法二也是从这个地址下载的,速度都很慢
方法二(推荐)
brew tap AdoptOpenJDK/openjdk
// 执行后可以查看 /usr/local/Homebrew/Library/Taps/adoptopenjdk/homebrew-openjdk
brew install <version>
Where version is:
adoptopenjdk-openjdk8
adoptopenjdk-openjdk9
adoptopenjdk-openjdk10
- 安装后目录:/usr/local/Cellar/adoptopenjdk-openjdk8/jdk8u172-b11
3.4 包含敏感的配置信息
- 对称加密
- 非对称加密
安装对称加密所需要的Oracle JCE jar
- 搜索java Cryptography Extensions,得到地址
- Mac下查看已安装的jdk版本及其安装目录
/usr/libexec/java_home -V
export ENCRYPT_KEY=IMSYMMETRIC
mvn spring-boot:run
官方文档 Spring Cloud Config Server
附录A
- Docker推荐书籍Jeff Nickoloff的《Docker in Action》或Adrian Mouat的《Using Docker》 P288