站在 Docker 的角度,软件就是容器的组合:业务逻辑容器、数据库容器、储存容器、队列容器……Docker 使得软件可以拆分成若干个标准化容器,然后像搭积木一样组合起来。
这正是微服务(microservices)的思想:软件把任务外包出去,让各种外部服务完成这些任务,软件本身只是底层服务的调度中心和组装层。
站在 Docker 的角度,软件就是容器的组合:业务逻辑容器、数据库容器、储存容器、队列容器……Docker 使得软件可以拆分成若干个标准化容器,然后像搭积木一样组合起来。
这正是微服务(microservices)的思想:软件把任务外包出去,让各种外部服务完成这些任务,软件本身只是底层服务的调度中心和组装层。
程序部署运维的痛点
当今软件越发庞大复杂 , 在服务器部署运行一个软件之前通常需要完成:
只有他们都正确 , 软件才能正常运行
当需要迁移的时候 , 这些事情都要重来一遍
并且由于各种原因 , 还可能会产生不一样的问题 , 费时费力
Morphia
是一个轻量级的类型安全的 Java 类库,用来将在 MongoDB 和 Java 对象之间进行映射
对MongoDB的API进行了一些封装 , 类似hibernate
linux下创建定时任务通常使用crontab
命令
使用cron表达式
来指定执行的定时规则
使用shell脚本编写需要执行的内容
脚本中涉及的文件路径是要写 绝对路径
linux当中存在很多交互式的命令行
简单来说就是执行过程中需要等待用户的输入 , 获得输入内容后继续执行
这种情况下我们可以借助expect
来实现自动化执行这些命令
直接重定向输入流多数情况下是不行的
因为它会将需要输入的内容一次性全部输入 , 而无法做到多次的交互
有了Lamdba表达式 , Java就具有了进行函数式编程的条件
但是作为彻底的面向对象语言 , 并不支持函数的独立存在
所以JDK1.8添加了Stream
以及一些相关的接口