1、基本介绍

  • 一个正则表达式(regular expression),就是用某种模式去匹配字符串的一个公式。其描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

  • 典型的搜索和替换操作要求您提供与预期的搜索结果匹配的确切文本。虽然这种技术对于对静态文本执行简单搜索和替换任务可能已经足够了,但它缺乏灵活性,若采用这种方法搜索动态文本,即使不是不可能,至少也会变得很困难。而通过使用正则表达式,可以做到:

    • 测试字符串内的模式。
    • 替换文本。
    • 基于模式匹配从字符串中提取子字符串。
Read more »

1、RabbitMQ角色分类

角色 特点
none 不能访问management plugin
management ①列出自己可以通过AMQP登入的虚拟机
②查看自己的虚拟机节点virtual hosts的queues,exchanges和bindings信息
③查看和关闭自己的channels和connections
④查看有关自己的虚拟机节点virtual hosts的统计信息,包括其他用户在这个节点virtual hosts中的活动信息
Policymaker ①包含management所有权限
②查看和创建和删除自己的virtual hosts所属的policies和parameters信息
Monitoring ①包含management所有权限
②罗列出所有的virtual hosts,包括不能登录的virtual hosts。
③查看其他用户的connections和channels信息
④查看节点级别的数据如clustering和memory使用情况
⑤查看所有的virtual hosts的全局统计信息
Administrator ①最高权限
②可以创建和删除virtual hosts
③可以查看,创建和删除users
④查看创建permisssions
⑤关闭所有用户的connections
Read more »

1、消息中间件概述

为什么需要使用消息中间件?

  • 具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。

  • 在实际的项目中,大部分的企业项目开发中,在早期都采用的是单体的架构模式,如下图:

    Read more »

SpringBoot的启动流程大致分为创建SpringApplication运行SpringApplication两大步。

  • ①创建SpringApplication。

    • 启动程序执行SpringApplication.run方法,作用是创建了一个Springpplication实例并执行run方法,这里先分析创建一个Springpplication实例的过程,即调用new SpringApplication()。
      Read more »

  • docker网络是docker非常重要的一部分知识,也是docker集群必备的,linux系统在安装完docker后,会多出一个docker0网卡,通过运行ip addr命令可查看到。

Read more »

1、概述

  • docker容器数据卷:当我们在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们关闭docker容器时是会消失的,但是其中产生的部分内容我们是希望能够把它给保存起来另作用途的,Docker将应用与运行环境打包成容器发布,我们希望在运行过程钟产生的部分数据是可以持久化的的,而且容器之间我们希望能够实现数据共享。
    • 数据卷可以在容器之间共享或重用数据。
    • 数据卷中的更改可以直接生效。
    • 数据卷中的更改不会包含在镜像的更新中。
    • 数据卷的生命周期一直持续到没有容器使用它为止。
Read more »

镜像定义

  • 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。

Docker镜像加载原理

  • UnionFS(联合文件系统)

    • Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem)。Union文件系统是Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
    • 特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。
      Read more »

  • Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

  • Docker和虚拟机的区别:

    • 传统虚拟机是虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上运行软件;而容器没有自己的内核,也没有虚拟硬件,其中的应用是直接运行在宿主机的内核中的。

Read more »

SpringBoot中与静态资源配置有关的代码在自动配置类WebMvcAutoConfiguration里(org.springframework.boot.autoconfigure.web.servlet包下)。

1
2
3
4
5
6
7
8
9
@Configuration(proxyBeanMethods = false)
@ConditionalOnWebApplication(type = Type.SERVLET)
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class, WebMvcConfigurer.class })
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10)
@AutoConfigureAfter({ DispatcherServletAutoConfiguration.class, TaskExecutionAutoConfiguration.class,
ValidationAutoConfiguration.class })
public class WebMvcAutoConfiguration {
}
Read more »