<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mufengmozi的博客]]></title><description><![CDATA[新新新手播客]]></description><link>https://blog.youkuaiyun.com/mufengmozi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mufengmozi]]></copyright><item><title><![CDATA[docker环境下修改mysql中的配置文件]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/105648956</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/105648956</guid><author>mufengmozi</author><pubDate>Tue, 21 Apr 2020 01:20:14 +0800</pubDate><description><![CDATA[lower_case_table_names
发现新建的数据库中数据库表不能支持大小写。但是库都导好了。也不能说去重新删了重启启动一个Mysql docker Container。所以还是修改mysql文件吧
首先我们要知道怎去解决lower_case_table_names
参数含义：
lower_case_table_names： 此参数不可以动态修改，必须重启数据库
lower_case_t...]]></description><category></category></item><item><title><![CDATA[多租户架构]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/105623916</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/105623916</guid><author>mufengmozi</author><pubDate>Sun, 19 Apr 2020 22:26:01 +0800</pubDate><description><![CDATA[前段时间公司产品进行了架构的进化，进化到了多租户架构。当我第一次听到多租户时，我也挺纳闷，不理解。但当我逐渐的翻阅资料，以及研发功能时。不断的加深了对多租户的理解。尽管我现在也只是浅浅的懂一点而已。
OK,Let’s get this straight（让我们搞懂它），接下来让我们问自己几个问题:
1.什么是多租户架构？
　　2.多租户架构的优缺点？
　　3.多租户架构的适用场景？
让我们带着这几...]]></description><category></category></item><item><title><![CDATA[Dynamics]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/105617875</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/105617875</guid><author>mufengmozi</author><pubDate>Sun, 19 Apr 2020 21:16:53 +0800</pubDate><description><![CDATA[Microsoft Dynamics 365
简单地讲，Dynamics 365就是微软将之前的CRM和ERP整合到一个平台下，最大的好处是主数据共享。之前CRM与ERP需要做集成，现在已经天然集成在一起了。
2016年11月1日后，Microsoft Dynamics CRM Online改名为Microsoft Dynamics 365。 “CRM”不再出现在品牌或产品名称中。
Microso...]]></description><category></category></item><item><title><![CDATA[EF]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/105582745</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/105582745</guid><author>mufengmozi</author><pubDate>Fri, 17 Apr 2020 19:52:20 +0800</pubDate><description><![CDATA[OR/M
orm是一个封装、、是一个代理。底层还是Ado.net+Sql语句实现
比如：EF、dapper、NHibernate、Ibatis、suger等
一个基本的ORM已经包含了对象的CRUD以及Mapping、事务、延迟、缓存等等高级特性
SQL都是通过反射生成的
因此内部有大量的反射。有性能影响。
但是ORM开发便捷、且还能适应不同数据库的迁移，而且也支持写sql
EF
1）DBFirs...]]></description><category></category></item><item><title><![CDATA[多线程异步]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/105414387</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/105414387</guid><author>mufengmozi</author><pubDate>Fri, 10 Apr 2020 01:24:05 +0800</pubDate><description><![CDATA[进程和线程
进程：计算机概念。程序在服务器运行时占据全部计算资源综合。虚拟的
线程：计算机概念。进程在响应操作时的最小单位。也包含CPU内存、网络、硬盘IO，虚拟的概念，
一个进程会包含多个线程。线程隶属于某个进程。进程销毁线程也就没了。
句柄：是一个long数字。是操作系统的表示应用程序
C#里边的多线程，
Thread类是C#语言对线程对象的一个封装
多线程的原因：
1、多个CPU的核可以并行...]]></description><category></category></item><item><title><![CDATA[委托\事件\lambda\linq]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/105395689</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/105395689</guid><author>mufengmozi</author><pubDate>Wed, 08 Apr 2020 22:41:10 +0800</pubDate><description><![CDATA[delegate
是一个delegate修饰的方法，
1、在IL中。委托就是一个类，继承自一个MulticastDelegate类，里边有构造函数、以及invoke()、begininvoke，endinvoke等一些方法
2、委托的实例化。要求传递一个参数类型。返回值都跟委托完全一致的方法。
3、委托实例的调用。参数和委托约束的一致。
委托这个类的实例可以放入一个方法，实例Invoke的时候执行...]]></description><category></category></item><item><title><![CDATA[泛型]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/105390628</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/105390628</guid><author>mufengmozi</author><pubDate>Wed, 08 Apr 2020 18:40:10 +0800</pubDate><description><![CDATA[1、泛型和Object
Object的问题
1、装箱拆箱
object在堆里，如果把int传递进来，就会把值从栈里边copy到堆里（装箱）。使用的时候，又需要把对象值copy到栈里（拆箱）。
2、类型安全问题，对传递的类型没有限制
泛型方法：
方法名后面加尖括号，里边是类型参数
类型参数实际上是一个类型声明，里边的T就是一个占位符。
泛型思想：延迟声明：推迟一切可以推迟的。一切能晚点在做的事儿。就...]]></description><category></category></item><item><title><![CDATA[.NETCORE]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/105267854</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/105267854</guid><author>mufengmozi</author><pubDate>Tue, 07 Apr 2020 17:51:23 +0800</pubDate><description><![CDATA[startup
使用什么中间件以及什么顺序使用
ConfigureService
用来注册服务
addSingleton&lt;IXX,XX&gt;();//单例模式（生命周期只有一个）
addTransient&lt;IXX,XX&gt;();//（每次一个请求都有一个新的）
addScoped&lt;IXX,XX&gt;();//（每次Web请求一个实例）

Configure
只运行一次。
...]]></description><category></category></item><item><title><![CDATA[kafka]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103347161</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103347161</guid><author>mufengmozi</author><pubDate>Thu, 16 Jan 2020 15:43:10 +0800</pubDate><description><![CDATA[定义
kafka是一个分布式的基于发布订阅的消息队列、主要应用于大数据实时处理领域
消息队列的好处:解耦、削峰
消息队列的两种模式
1、点对点：（1对1，消费者主动拉取数据、消息收到后消息消除）
2、发布订阅：（1对多，消费者消费数据后不会消除消息）
发布者、将消息发布到topic。同时多个消息消费者（订阅）消费该消息、和点对点不同、发布到topic的消息会被所有订阅者消费。

...]]></description><category></category></item><item><title><![CDATA[分布式系统]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103889767</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103889767</guid><author>mufengmozi</author><pubDate>Wed, 08 Jan 2020 20:38:45 +0800</pubDate><description><![CDATA[dubbo的工作原理




Zookeeper
1、分布式协调

2、分布式锁

3、元数据、配置数据的管理

4、HA高可用性

redis和zk的分布式锁
redis

在定义key的时候可以加一个随机值，lua删除锁的时候会判断是否成功

zk锁临时节点

zk基于临时顺序节点的锁

分布式事务
1、两阶段提交方案XA方案

XA方案多个库的情况下不适用，但是按照微服务的架构、都得是多个库...]]></description><category></category></item><item><title><![CDATA[MQ相关]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103883285</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103883285</guid><author>mufengmozi</author><pubDate>Tue, 07 Jan 2020 23:23:35 +0800</pubDate><description><![CDATA[1为什么使用消息队列啊？
消息队列的常见使用场景，比较核心的3个：解耦、异步、削峰
2、RabbitMQ的高可用性
镜像集群模式
RabbitMQ只能实现主从架构集群，无法实现分布式集群。也就是每个结点存放一模一样的queue队列
负债均衡机制：
轮询法
随机法
源地址哈希法：获取的客户端IP地址，进行hash取余

3、kafka的高可用性
kafka一个最基本的架构认识：多个broker组成，...]]></description><category></category></item><item><title><![CDATA[分布式缓存总结]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103876898</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103876898</guid><author>mufengmozi</author><pubDate>Tue, 07 Jan 2020 22:15:50 +0800</pubDate><description><![CDATA[分布式缓存
1、redis的线程模型
redis单线程、nio。异步的模型
文件时间处理器模型：



单线程模型效率高
1、纯内存操作【文件处理器部分】
2、非阻塞的io多路复用【io多路复用程序】
3、单线程反而避免了多线程的上下文切换的问题
Redis的过期策略：
1、定期删除、和惰性删除
定期删除：redis每100毫秒。对过期的key随机删除掉一部分
惰性删除：查询的时候。发现是过期ke...]]></description><category></category></item><item><title><![CDATA[分布式搜索引擎]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103872836</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103872836</guid><author>mufengmozi</author><pubDate>Tue, 07 Jan 2020 15:52:01 +0800</pubDate><description><![CDATA[1、
2、写入和查询的工作流程
客户端插入数据。选择一个机器作为（协调节点），通过hash协调到对应的primary shard中。primary再同步到replica。
写入变化:
1、写入primary时，先写入buff内存中。同时写一个translog日志文件
2、buff快慢了。或者一定时间（一般为1秒），会通过refresh来刷新到segmentfile中。不过首先会写入到oscache...]]></description><category></category></item><item><title><![CDATA[java面试总结篇]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103730131</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103730131</guid><author>mufengmozi</author><pubDate>Fri, 27 Dec 2019 15:42:05 +0800</pubDate><description><![CDATA[HashCode
下面这段话摘自Effective Java一书：

在程序执行期间，只要equals方法的比较操作用到的信息没有被修改，那么对这同一个对象调用多次，hashCode方法必须始终如一地返回同一个整数。
如果两个对象根据equals方法比较是相等的，那么调用两个对象的hashCode方法必须返回相同的整数结果。
如果两个对象根据equals方法比较是不等的，则hashCode方法不一...]]></description><category></category></item><item><title><![CDATA[Mycat]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103612797</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103612797</guid><author>mufengmozi</author><pubDate>Thu, 19 Dec 2019 14:37:22 +0800</pubDate><description><![CDATA[MyCat
1、为什么分库分表
2、分库分表怎么分
3、分库分表怎么操作
4、解决我们实战过程中的一些问题
2、分库分表怎么分
schema.xml文件

其中schema就是数据库，一个逻辑数据库，
DataNode是相关的具体数据库
dataHost是具体数据库的配置信息
heartbeat是心跳检测包
Writehost和readhost就是读写分离的配置
datahost的节点
name：...]]></description><category></category></item><item><title><![CDATA[ActiveMQ]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103564377</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103564377</guid><author>mufengmozi</author><pubDate>Mon, 16 Dec 2019 21:14:49 +0800</pubDate><description><![CDATA[ActiveMQ
扩展出：
API 接受发送
MQ 的高可用
MQ 的集群容错配置
MQ 的持久化
延时发送
签收机制
Spring/SpringBoot 整合
等
//   MQ   都需要满足的技术
MQ  ：   消息中间件/消息队列   

为什么要使用 MQ ？
解决了耦合调用、异步模型、抵御洪峰流量，保护了主业务，消峰。

二、安装ActiveMQ
docker环境下安装
[root@...]]></description><category></category></item><item><title><![CDATA[Redis]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103547600</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103547600</guid><author>mufengmozi</author><pubDate>Sun, 15 Dec 2019 23:37:44 +0800</pubDate><description><![CDATA[Nosql
not only sql,意思：不仅仅是sql
泛指非关系型的数据库、随着互联网web2.0兴起。传统的关系型数据库在应付2.0网站，特别是超大规模和高并发的SNS类型的纯动态网站已经显得力不从心，暴露了很多难以克服的问题。而非关系型的数据库则是由于其本身的特点得到了非常迅速的发展，nosql数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战，尤其是大数据应用的难题，包括超大...]]></description><category></category></item><item><title><![CDATA[jvm GC]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103529547</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103529547</guid><author>mufengmozi</author><pubDate>Fri, 13 Dec 2019 22:01:44 +0800</pubDate><description><![CDATA[GCROOT


JVM的参数配置
三个参数类型

标配参数：

X参数：

混合类型、执行、编译

XX参数
Boolen类型

jps -l得到一个程序的进程号
jinfo -flag PrintGCDetails 进程号
可以查看某一个参数是否激活
KV设置类型

jinfo -flags 进程号可以得到所有的消息
其中Non-default VM flag系统默认的
commad line...]]></description><category></category></item><item><title><![CDATA[JVM]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103515452</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103515452</guid><author>mufengmozi</author><pubDate>Thu, 12 Dec 2019 23:05:51 +0800</pubDate><description><![CDATA[亮色：存在垃圾回收，线程共享
暗色：线程私有
类装载器ClassLoader
负责加载class文化、class文件在文件开头有特定的文件标识，将class文件字节码内容加载到内存中、并将这些内容转换成方法区中的运行时数据结构。并且classloader只负责class文件的加载，至于它是否可以运行。则由ExecutionEngine决定

启动类加载器（Bootstrap）
扩展类加载器（Ex...]]></description><category></category></item><item><title><![CDATA[mysql]]></title><link>https://blog.youkuaiyun.com/mufengmozi/article/details/103498216</link><guid>https://blog.youkuaiyun.com/mufengmozi/article/details/103498216</guid><author>mufengmozi</author><pubDate>Thu, 12 Dec 2019 16:40:01 +0800</pubDate><description><![CDATA[sql的解析顺序


]]></description><category></category></item></channel></rss>