前言 简单整理一些kafka的设计. 正文 前文提及到log 的重要性,以及kafka在其中的作用,起着一个日志管理分发的作用,对于其他服务来说相当于新闻报社,订阅某种主题就会收到某类信息. 当人们意识到事件状态的重要性的时候,当时还没有日志管理系统,可能像下面这样: 他们各自传递着各自的事件状态给需要的服务,有点乱且难以维护. 于是为了给他们解耦,就出现了下面这样的: 这种模式解决了日志分发问题. 这种模式的出现是否解决了各种服务之间日志的共享. 现在日志和数据库似乎没有什么关联了,也就是事件…
前言 简单整理一些自己使用kafka的一些感受. 正文 一切都要回到真实的世界上, 计算机世界只是真实事件的一个缩影. 计算机世界有一个重要的东西,那就是数据库. 数据库记录着真实世界发生了什么,准确的说就是这个世界发生了什么然后产生了什么结果. 比如说一辆火车,那么数据库记录这辆火车是开启的开始停止的,或者说乘坐着几个人,也就是这辆火车对当前世界的状态. 有比如说,一个人,数据库里面记录着这个人的年龄.身高.性别等.也就是记录这个人的状态. 可以说数据库,是事物的状态机. 这个是满足以前的,但…
前言 简单整理一下分发的基本思路. 正文 kafka 原本是做日志管理系统,主要是分发这块的. 那么如何做分发呢? 分发的是什么呢? 分发的其实是日志,日志是事件状态,kafka 内部就叫做Record,也就是记录哈,也可以叫做事件状态的记录,其实和日志的意思差不多了. 首先需求是有分类的,要给record 进行分类,这个分类就用topic.每个分类有自己的topic. 然后就是怎么存的问题了. 首先最容易想到的是下面这种: 一个队列,往队列里面存就好,然后另外一端进行消费就好. 这样又一个问题…
1.使用js实现一个可持续的动画 2.实现一个可以自由拖动的悬浮框 3.实现一个倒计时效果 4.使用js仿写一个原生下拉列表框 5.创建10个<a>标签,点击的时候弹出对应的序号 6.实现一个deepclone 7.写一个能遍历对象和数组的通用forEach函数 8.通过new创建一个对象的时候,函数内部有哪些改变 9.实现一个bind 10.封装一个函数,参数是定时器的时间 .then执行回调函数 11.手写一个promise 12.使用js实现jquery的delegate方法 13.用J…
电商底部导航栏的制作 我想大家对电商一定不陌生,一般电商的底部导航栏有以下几个首页.分类.购物车.个人中心. app.json是用来配置page路径以及导航栏属性的,那我们要做首页.分类.购物车.个人中心界面就要在page也添加这几个界面,所以在app.json的page里添加如下代码,写入page路径,系统会自动帮你创建界面的 "pages":[ "pages/home/home", "pages/classify/classify", &qu…
小猪猪逆袭成博士之C++基础篇(二) const .auto. decltype 上一章我们介绍了一些常用的类型和常见的问题,下面再介绍一些学习的时候不是特别常用但是在实际工程中很有用的一些东西. 一.常量const 我们想要定义一种不能改变它的值的变量,我们就对这个变脸的类型加上限定符Const. Const 对象必须要初始化,并且它一旦创建了就不能改变,所以Const变量是只能出现在等号的右边的. 另外,在C11标准中会有一种Constexpr的类型来编译器验证变量的值是是否是一个常量表达式…
原文:工作经常使用的SQL整理,实战篇(二) 工作经常使用的SQL整理,实战篇,地址一览: 工作经常使用的SQL整理,实战篇(一) 工作经常使用的SQL整理,实战篇(二) 工作经常使用的SQL整理,实战篇(三) 接着上一篇“工作经常使用的SQL整理,实战篇(一)”继续讨论,这一篇中主要讨论增删改查,连接,分组和排序,通配符,视图,存储过程和事务,游标,触发器这些东西. 6.增删改查 插入 --插入用户表数据 insert into Tse_User(UserID, UserName, RealN…
工作经常使用的SQL整理,实战篇,地址一览: 工作经常使用的SQL整理,实战篇(一) 工作经常使用的SQL整理,实战篇(二) 工作经常使用的SQL整理,实战篇(三) 接着上一篇“工作经常使用的SQL整理,实战篇(一)”继续讨论,这一篇中主要讨论增删改查,连接,分组和排序,通配符,视图,存储过程和事务,游标,触发器这些东西. 6.增删改查 插入 --插入用户表数据 insert into Tse_User(UserID, UserName, RealName, Email, Mobile) , '…
7-2 微信小程序入门篇 准备篇 1.登录网址,https://mp.weixin.qq.com 注册一个微信小程序. 2.获取微信小程序appid,登录自己的小程序后台,在开发者设置中获得appid. 3.下载微信开发者工具,创建项目.输入appid,和项目名即可. 4.js是脚本文件, json是配置文件,wxss是样式表文件.小程序读取这些文件,生成小程序实列. 5.app.js是小程序的脚本代码,儿科与你监听并处理小程序的生命周期,声明全局变量. 调用框架提供丰富的API 案列,调用同步…
本篇文档将持续更新,有基础滴,也有深层次的,谢谢! 1.看下面的程序是否有问题,如果有问题,请指出并说明理由. * byte b1 = 3; * byte b2 = 4; * byte b3 = b1 + b2; * byte b4 = 3 + 4; 答:byte b3 = b1 + b2;会编译失败,因为这个相加后得到的结果是int类型的, 而b3是byte类型的,这样转换会损失精度,可用强制类型转换或是两个变量,变量值不确定: byte b4 = 3 + 4; 3和4是常量.Java中有常量…