- 博客(21)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 OpenStack架构分析
1、总体架构下图是OpenStack各Services之间的相互关系。Nova:管理VM的生命周期Neutron:为其它组件提供网络连接服务,负责创建和管理L2、L3网络。Glance:管理VM镜像Cinder:提供块存储服务Keystone:为其它组件提供认证和权限管理服务Ceilometer:提供监控告警和计量计费服务Horizon:为用户提供一个基于Web...
2018-08-19 15:47:52
11270
翻译 Axon Framework架构概述
CQRS本身是一个非常简单的模式。它只规定了处理命令的应用程序的组件应该与处理查询 的组件分离。 虽然这种分离本身非常简单,但它与其他模式结合时提供了许多非常强大的功 能。Axon 提供的构建块更容易实现不同的模式与CQRS的结合。下图显示了一个示例,一个基于CQRS的事件驱动的架构图示。 左侧显示的是UI组件, 通过 两种方式与应用程序的其余部分进行交互:它向应用程序发送命令 (显示在顶端的...
2019-02-03 16:50:19
673
翻译 Axon Framework简介
Axon是一个轻量级框架,能够帮助开发者通过在架构层面构建可扩展和可伸缩的应用。(注:以DDD面向领域驱动设计为基础的CQRS框架)Axon Framework背景、发展简史随着时间的发展,软件的需求也在不断增长。公司都希望自己的(web)应用程序和自身业务共同发展。这就意味着不仅仅是工程和代码变得更复杂,也意味着功能不断地新增、更改和移除。它令人沮丧的是,一个看似易于实现的功能,却要求开...
2019-02-03 16:01:42
1819
转载 命令和查询职责分离(CQRS)模式
什么是 CQRSCQRS 意思就是命令查询职责分离(Command Query Responsibility Segregation)。很多人认为 CQRS 是一个完整的架构,但是他们错了。它只是一个小小的模式。Greg Young 和 Udi Dahan 首先介绍了这种模式。他们是从 Bertrand Meyer 的 “面向对象的软件结构”一书中得到了 CQS(查询与命令分离( Comman...
2019-02-03 15:08:20
1108
转载 从三层架构迈向领域驱动设计
三层架构 严格分层架构模式的特点是上层只能访问相邻的下层,其他层次间的调用都不允许。三层架构就是一种严格分层模式,它把职责划分为界面展示、业务逻辑、数据访问三层,还有一个业务实体,前面三层都要依赖它,所以它并不构成一个层。 三层架构的特点是一种面向过程的编程思想,特点如下:a. 业务实体类中基本上只有属性没有方法。b. 业务逻辑层的类基本上只有方法没有属性。c. 将...
2019-02-03 14:50:42
735
原创 微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布
在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。蓝绿布署(Blue/Green Deployment)1、定义蓝绿部署是不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本。1、特点蓝绿部署无需停机,并且风险较小。2、布署过程第一步、部署版本1的应用(一开始的状态...
2019-02-03 11:12:17
284
原创 MySQL Explain执行计划详解
1、什么是MySQL执行计划 要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解。 MySQL本身的功能架构分为三个部分,分别是 应用层、逻辑层、物理层,不只是MySQL ,其他大多数数据库产品都是按这种架构来进行划分的。 应用层,主要负责与客户端进行交互,建立链接,记住链接状态,返回数据,响应请求,这一层是和客户...
2018-08-26 23:58:16
298
原创 MySQL乐观锁
之前谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的,我们有了乐观锁,具体参见下面介绍: 乐观锁介绍:乐观锁( Op...
2018-08-24 23:29:57
292
原创 MySQL悲观锁
悲观锁介绍:悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。 使用场景举例:以MySQL InnoDB为例...
2018-08-24 23:23:01
276
原创 Window系统 查看端口 被哪个进程占用了
一、在windows命令行窗口下执行:运行--cmdC:\>netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448端口被进程号为2448的进程占用,继续执行下面命令:C:\>tasklist|findstr "2448" thread.exe ...
2018-08-22 15:44:49
301
原创 MySQL Binlog详解
Mysql的binlog日志作用是用来记录mysql内部增删改查等对mysql数据库有更新的内容的记录(对数据库的改动),对数据库的查询select或show等不会被binlog日志记录;主要用于数据库的主从复制以及增量恢复。mysql的binlog日志必须打开log-bin功能才能生存binlog日志-rw-rw---- 1 mysql mysql 669 8月 10 21:29 ...
2018-08-20 00:03:13
288
原创 CentOS7下MySQL安装
1、下载并安装MySQL官方的 Yum Repository# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。# yum -y install mysql57-co...
2018-08-20 00:03:03
249
原创 MySQL数据库开发常见问题及优化
本文将就以下三个问题进行展开:库表设计 慢 SQL 问题 误操作、程序 bug 时怎么办 一、库表设计1.1 引擎选择在 mysql 5.1 中,引入了新的插件式存储引擎体系结构,允许将存储引擎加载到正在运新的 mysql 服务器中。使用 mysql 插件式存储引擎体系结构,允许数据库专业人员或者设计库表的软件开发人员为特定的应用需求选择专门的存储引擎,完全不需要管理任何特殊...
2018-08-19 22:55:29
238
原创 MySQL索引
透明表索引有两种:分别是主索引和二级索引。主索引是在我们创建表激活后由系统自动创建的,这个我们不能修改;二级索引可以我们自己创建。 主索引是表的主键,二级索引可以根据你自己需要用到表的任何字段的组合来创建。 在使用二级索引时,WHERE条件字段和字段顺序要与二级索引字段和字段顺序粗略一致,这样才能提高检索效率 一、如何判断数据库索引是否生效首先在接着探讨之前,我们先说一下,如何判...
2018-08-19 22:51:27
400
原创 Cinder对接ISCSI
1、定义 IP SAN1.1、SAN定义Storage Area Network,存储局域网络。SAN是一种将存储设备、连接设备和接口集成在一个高速网络中的技术。SAN本身就是一个存储网络,承担了数据存储任务,SAN网络与LAN业务网络相隔离,存储数据流不会占用业务网络带宽。Iscsi:iSCSI(互联网小型计算机系统接口)是一种在TCP/IP上进行数据块传输的标准。它是由Cisc...
2018-08-19 18:05:45
4211
原创 Cinder对接VMware
1、架构这里的驱动改为VMwareVcVmdkDriver2、配置1)前提在计算节点上要配置对接上vCenter上,可以成功创建虚机。2)配置当前配置文件:(以下配置项覆盖原有的--或者原有的注释掉)在存储节点 /etc/cinder/cinder.conf[DEFAULT]default_volume_type = vmwareenabled_bac...
2018-08-19 17:07:39
809
转载 MySQL的四种事务隔离级别
本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一...
2018-08-19 16:48:06
283
原创 Kolla-ansible源码分析
1. 基本认识1.1. kolla-ansiblekolla-ansible是从kolla项目中分离出来的一个可交付的项目。kolla-ansible负责部署容器化的openstack各个服务和基础设施组件;而kolla项目现在则单独负责镜像的构建,为kolla-ansible部署提供生产级别的openstack各服务镜像。1.2. ansible和dockerkolla-ansi...
2018-08-19 14:58:27
2698
原创 Kolla多节点部署OpenStack
部署环境介绍:环境:Centos 7.3Kolla 4.0Openstack Ocata两台虚拟机节点:kolla1配置:4CPU 8G 双网卡 /dev/sdb 200G 做存储盘角色:部署节点+控制+网络+计算ens32 100.100.100.1,管理+内部网络ens33 无IP 外部网络kolla2 配置:4CPU 8G 双网卡 ...
2018-08-19 14:56:09
2122
2
原创 DevStack方式安装OpenStack
DevStack是一个自动安装OpenStack的工具,使用OpenStack的源码进行安装。采用DevStack部署OpenStack的顺序如下:安装Git、pip yum -y install git ###安装yum扩展源 yum -y install epel-release yum -y install python-pip在指定用户(roo...
2018-08-19 12:48:41
756
原创 Docker原理分析
容器概念容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。 容器与虚拟机谈到容器,就不得不将它与虚拟机进行对比,因为两者都是为应用提供封装和隔离。容器由两部分组成:1、应用程序本身2、依赖:比如应用程序需要的库或其他软...
2018-08-19 12:02:55
1282
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人