allinone date: '2019-10-27 18:27:11' updated: '2019-10-31 20:23:10' tags: [openstack, Linux] permalink: /articles/2019/10/27/1572172031071.html 前期准备 基本配置 扩展源 yum install epel-release -y hostname [root@kolla ~]# cat /etc/hostname kolla [root@kolla ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.51.208 kolla.cn kolla 时间同步 yum install ntp -y && systemctl enable nt...... kolla部署openstack(stein)部署 Note
昨天去做核酸,做完核酸然后买了两瓶芬达,结果超时收营员收银机收走我100元。最后她给我100现金,我又扫码付钱6块钱给他。完事我就把100元放口袋,走那会还想着别丢了,口袋浅,手上有拎着袋子没地方拿。回家后把东西一放,100元现金抛脑后忘记了。第二天也就是今早我才想起来。God,一摸口袋咋没了捏…… Fuck,现在这社会,经常性无现金支付,身上打猛地有个现金还给整丢了,唉……😭 丢了100块钱 待分类
服务端使用 Docker 版思源进行伺服搭建配置 镜像地址 启动参数: docker run \ --detach \ --name siyuan \ -v /data/siyuan:/data/siyuan \ -p 6806:6806 \ -u 1000:1000 b3log/siyuan \ --ssl=true \ --resident=true \ --lang=zh_CN \ --workspace=/data/siyuan/ nginx 反代,需要配置反代 WebSocket,以下配置 HTTPS 和 wss upstream siyuan { server 127.0.0.1:6806; # ip + 端口 } map http_upgrade conn_upgrade { default upgrade; '' close; } server { listen 80; listen 443 ssl; server_name siyuan.cjzshilong.cn; access_log /var/log/nginx/siyuan.cjz.... 思源笔记Docker伺服 思源笔记
Linux磁盘分区 问题一: 如果遇到下述问题: [root@ostack-228-32 ~]# mount /dev/sdb /data/ mount: /dev/sdb is already mounted or /data busy 可以用此方式: [root@ostack-228-32 ~]# dmsetup status VMDATA--node9-VMDATA--node9: 0 46816583680 thin-pool 0 15633/4145152 0/182877280 - rw no_discard_passdown queue_if_no_space - 1024 VMDATA--node9-VMDATA--node9_tdata: 0 46816583680 linear VMDATA--node9-VMDATA--node9_tmeta: 0 33161216 linear centos-swap: 0 268435456 linear centos-root: 0 629145600 linear [root@ostack-228-32 ~]# dmse..... Linux磁盘分区 待分类
交换机与Linux服务器多网卡bond模式对接 交换机多端口和服务器对接时,需要确定是否需要配置聚合或者不配置聚合,并且配置聚合的时候还需要确认是静态聚合还是动态聚合,当然这和当前服务器网卡的bond模式有关。下面我们了解下Linux服务器的7种bond模式,说明如下: 第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。这种模式需要接入交换机配置静态链路聚合配置。 V5/V7交换机侧的静态典型配置 [DeviceA] interface Bridge-Aggregation 1 //默认静态 [DeviceA-Bridge-Aggregation1] quit [DeviceA] inter.... linux服务器与H3C交换机聚合口对接 Linux
函数式编程处理加减法和空值处理 import java.math.BigDecimal; public class TestCalculator<T> { /** * 汇总结果对象 / private final T collect; private TestCalculator(T collect) { this.collect = collect; } /* * Wrap a collect to store the math result * * @param collect 汇总对象 * @return 汇总计算器 * @param <T> 汇总结果存放对象 */ public static <T> TestCalculator<T> of(T collect) { return new TestCalculator<>(collect); } public <P> TestCalculator<T> setIt(SetterFunction<T, P> sett.... 函数式编程处理加减法和空值处理 java
#github related website 52.69.186.44 github.com 151.101.185.194 github.global.ssl.fastly.net 203.98.7.65 gist.github.com 13.229.189.0 codeload.github.com 185.199.109.153 desktop.github.com 185.199.108.153 guides.github.com 185.199.108.153 blog.github.com 18.204.240.114 status.github.com 185.199.108.153 developer.github.com 185.199.108.153 services.github.com 192.30.253.175 enterprise.github.com 34.195.49.195 education.github.com 185.199.108.153 pages.github.com 34.196.237.103 classroom.github.co.... Github访问慢解决 java
package com.example.demo; import org.apache.ibatis.ognl.MemberAccess; import org.apache.ibatis.ognl.Ognl; import org.apache.ibatis.ognl.OgnlContext; import org.apache.ibatis.parsing.PropertyParser; import java.lang.reflect.AccessibleObject; import java.lang.reflect.Member; import java.lang.reflect.Modifier; import java.util.Map; import java.util.Properties; public class ParserDemo { public static void main(String[] args) throws Exception{ Properties variables = new Properties(); variables.setPro.... Mybatis的Ognl上下文和变量解析器 mybatis
领域驱动设计DDD Domain-Driven Design DDD设计完成之后,才能划分微服务,不然无法确定每一个微服务里头都包含哪一些功能。 1.概括 战略设计 战术设计 2.战略设计之限界上下文 限界上下文是语义和语境上的边界。这意味着边界内的每个代表软件模型的组件都有着特定的含义并处理特定的事务。限界上下文中的这些组件有特定的上下文语境和语义理据。 当限界上下文被当作组织的关键战略举措进行开发时,即被称之为核心域。 限界上下文应该由领域专家来主导划分,而不是让开发人员来划分,大泥球 往往是开发人员无视业务专家的建议,一意孤行所导致的结果。领域专家的心智模型将成为团队通用语言的坚实基础。 限界上下文包括:输入适配器,例如用户界面;编排用例和管理事务的应用服务;领域模型;输出适配器,如持久化管理和消息发送器; 3.战略设计之子域 理想情况下,一个限界上下文对应一个子域,子域是整个业务领域的一部分。 子域类型 核心域 支撑子域(定制开发) 通用子域 4.战略设计之上下文映射 核心域必须与其他限界上下文进行集成。这种集成关系在DDD中称为上下文映射。 映射的种类 合作关系 共享内核 客.... 领域驱动设计DDD java
#kafka可以以来zookeeper进行,最新版本kafka已经不需要额外再安装zookeeper了,它可以自己存储元数据信息了。# kafka的核心概念 Broker 消息中间件处理节点(服务器),一个节点就是一个broker,一个Kafka集群由一个或多个broker组成 Topic Kafka对消息进行归类,发送到集群的每一条消息都要指定一个topic Partition 物理上的概念,每个topic包含一个或多个partition,一个partition对应一个文件夹,这个文件夹下存储partition的数据和索引文件,每个partition内部是有序的 Producer 生产者,负责发布消息到broker Consumer 消费者,从broker读取消息 ConsumerGroup 每个consumer属于一个特定的consumer group,可为每个consumer指定group name,若不指定,则属于默认的group,一条消息可以发送到不同的consumer group,但一个consumer group中只能有一个consumer能消费这条消息 kafka的特点.... kafka简单了解 java
RabbitMQ 是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。它的并发最高可以支持一万并发,且它出身于金融行业。 RabbitMQ核心概念 Producer:生产者 Consumer:消费者 Broker:消息中间件的服务节点 。 Virtual Host:等同于namespace Channel:频道或信道,是建立在Connection连接之上的一种轻量级的连接。 RoutingKey:路由键。生产者将消息发给交换器的时候,一般会指定一个 RoutingKey,用来指定这个消息的路由规则。 Exchange:交换器,生产者将消息发送到 Exchange (交换器,通常也可以用大写的“X”来表示),由交换器将消息路由到一个或者多个队列中。如果路由不到,或返回给生产者,或直接丢弃。 Queue:队列,是RabbitMQ的内部对象,用于存储消息。 Binding:绑定,RabbitMQ 中通过绑定将交换器与队列关联起来,在绑定的时候一般会指定一个绑定键( BindingKey ) ,这样.... RabbitMQ java
线程使用上的问题 new Thread().start(); 线程的频繁创建和销毁 线程的数量过多,会造成CPU资源的开销。 上下文切换 (消耗CPU资源) 池化技术 连接池、对象池、内存池、线程池 。。。 池化技术的核心: 复用 线程池的设计思考 需求: 实现线程的重复使用. 让线程重复使用的唯一方法,就是使线程不结束 通过阻塞队列,实现线程复用 线程池的实现原理分析 线程池实现只需要一个阻塞队列就可以实现,当线程去阻塞队列拿任务的时候,如果阻塞队列没有任务,那么该线程就阻塞在这里。 线程池添加任务的原理 线程池如何设置合理的线程数量 IO密集型 CPU 2core+1 CPU密集型 CPU +1 线程池的原理分析 java