铁锤的Blog 
  • Home
  • Archives
  • Categories
  • Tags
  • About
  •     

Pulsar 文档翻译

一、简介 Pulsar 是一个多用户,高性能的服务间消息通信的解决方案。最早是雅虎开发的,目前已经变成了 Apache 顶级项目。 Pulsar 的关键特性: 单个 Pulsar 实例原生支持多个集群,并且支持对在集群中的消息有跨地区备份。 非常非常低的发布和端到端的延迟。 无缝扩展到百万级别的 topics。 方便上手的客户端 API(Java,Go,Python,C++) 对于 topics 拥有多种订阅模式。 通过 Apache BookKeeper 保证消息分发和存储。 拥有一个轻量级的无服务的计算框架来提供流式数据处理。 拥有一个基于无服务计算框架的连接框架可以非常方便的将数据从 Pulsar 输入和输出。 Tiered Storage 将热点数据转移到冷数据区。 二、消息2.1 messaging concepts Pulsar 是基于发布-订阅模式的。一旦订阅被创建了,所有的消息就会被 Pulsar 保存,即使消费者失联。只有消息被消费者确认这些消息已经处理完毕了,这些消息才会被丢弃。 2.1.1 消息 消息是 Pulsar 中的最基本单元。 Compon
 2020-07-08   pulsar    工具 

穷爸爸富爸爸

富人不为钱工作,让钱为其工作。 我如何才能支付这个。 富人获得资产,中产获得负债,穷人只有支出。 KISS原则:(Keep It Simple Stupid) 财商的四门课程: 会计(管理钱) 投资(钱生钱) 了解市场(需求与供给) 法律(税收优惠政策,公司法律) 我们惟一最重要的资产是我们的大脑。 关注一项自己的事业,工作并不是事业。 不能拥有充裕资产项目的原因: 恐惧心理(获取收益时风险厌恶,获取损失时风险偏好) 愤世嫉俗(克服从众心理,坚持自我判断) 懒惰(忙碌的人常常都是最懒惰的人) 不良习惯(优先支付自己) 自负(时常教育自己) 怎么开始: 一个超现实的理由(精神的力量) 每天作出自己的选择(每一元钱,每一分钟) 谨慎的选择朋友(不要听胆小的人的语言) 掌握一种模式,然后再学习一种新的模式(快速学习) 首先支付自己(自律) 给你的经纪人以优厚报酬(雇佣聪明人,获取好建议) 做一个“印第安给予者”(不光看到ROI,还要看到收回投资时获得的资产成本) 资产购买奢侈品(如果没有金钱精明,就要为之工作一生) 对英雄的崇拜(投资精英) 先予后取(想获取回报先要付出,想获取温暖
 2020-02-16   其他    杂记 

2019总结

19总结  一直想找个机会做下今年的总结,一方面因为年前确实来了很多事情,工作上的,生活上的;另一方面也是主要原因,那就是懒,不够自律,到执行这一步总是不够坚决。9012年就这么过去了,这一年发生了不少事情。   这一年是彻底离开学校的一年,七年的学习生活,感觉喜欢与不喜欢已经概括不了对学校,对整个城市的复杂感情,非要用一个词的话那就是习惯,已经习惯了扯面泡馍,习惯了夏天梧桐树下的阴凉,习惯了热热闹闹的宿舍,突然要离开,还真是不习惯。虽然相比于工作还是怀念上学,但是感谢翟博士,让我对毕业有了异常强烈的希望,还好有惊无险。   这一年也是彻底进入社会的一年,刚刚步入职场,真的是被上了很多节课。来到一个产品很成熟且公司对产品定位稳定大于一切的团队,一开始真的是很难适应,面对落后的工程,过时的设计,后悔一直就没有间断过,不过也感谢有这样一个环境,我的心态比毕业前稳重现实了很多。也明白了技术发展终究还是要走在商业的后面。过了差不多半年了,也逐渐习惯了部门的工作节奏和工作内容,但是感觉自己也失去了不少东西。   心态
 2020-01-08   其他    杂记 

奇特梦境

  今早做了一个很有意思的梦,也不能说是一个,而是一个包含三层的梦,只有这三层有印象。从最里层说起吧,最里层的梦梦到的是和小泽珊珊他们一起出去玩儿,印象中场景就是一张床,一个屋子,屋子有些像景区那种通透的一层小屋。当时我从床上醒来就去了屋外,这时小泽已经在外面了,然后我就去找他说了会儿话,为了看时间我抬了下左手去看手环,结果发现手环只剩了环,最重要的芯不知道去哪儿了。我还和小泽吐槽,我已经丢了三个芯了。此时我的意识突然很清醒,感觉到自己似乎在做梦,当我意识到这一点的时候我就好像醒了,其实是进入了下一个梦。   第二个梦就很神奇了,我梦到了高中时期的女班长,这个班长和我至少有五六年没有联系了,最近一次还是在QQ上我询问她关于一段C语言代码的问题。梦中女班长化着类似烟熏妆,很瘦,但是我却能感觉到他是女班长(高中时女班长微胖,很友善,笑起来有酒窝)。班长和我聊了聊工作的事情,因为还没有女班长的微信,所以顺理成章的想着加一下微信,我拿出手机,准备扫码,但是找了半天也没有调出扫码功能,这个时候我发觉了这个手机是一个很老式的安卓手机,大概五六年前才会用的这种
 2019-12-20   其他    生活 

博客迁移到hexo

//TODO
 2019-12-17  

MySQL必知必会

1.检索数据1.1 distinct ##用于检索出单一的行值 select distinct vend_id from products. ##distinct 不止作用于其后置字段,它会查出所有列组合情况下单一的列。 select distinct vend_id,vend_name from products. mysql> select * from test; +----+------+-------+ | id | name | photo | +----+------+-------+ | 1 | tony | photo | | 1 | tom | photo | | 2 | tony | photo | | 2 | tom | photo | | 2 | tom | photo | +----+------+-------+ 5 rows in set mysql> select distinct id,name from test; +----+------+ | id | name | +----+------+ | 1 | t
 2019-12-03   RDBMS  Mysql    Mysql 

SpringSecurity

Spring Security1. 校验流程 入口在AbstractAuthenticationProcessingFilter,它的实现如下图所示,可以发现它的子类只有一个UsernamePasswordAuthenticationFilter,其中的attemptAuthencation方法就如下实现。 从上图可以看到尝试授权前先创造了一个Token,而username就被作为了principal也就是主体,password被作为了 credentials也就是认证证书。然后通过authenticationManager进行认证操作。Token的实现类图如下图所示。 而AuthenticationManager的类图如下,可以发现默认实现类为ProviderManager。 其中ProviderManager的授权方法如下图所示。 可以看到主要就是通过AuthenticationProvider来进行实际的授权工作,找到第一个可用的AuthenticationProvider来进行授权。 其中默认的Provider为AbstractUserDe
 2019-11-26   编程  Spring    Spring 

Java 计算两个日期的间隔天数

Java 计算两个日期的间隔天数 两个日期的间隔天数应用场景很多,自己一开始写得是使用两个日期的毫秒数之差再除以一天的毫秒数算出天数,但是这种方法获得的值会出现不准确的问题。发现通过Calender考虑是否跨年来实现。 package com.youdao.adapmathserver.util; import java.time.LocalDate; import java.util.Calendar; /** * @author soul * @version 2019/11/14 */ public class DateUtil { public static int differentDays(Date startDate, Date endDate) { Calendar startCalender = Calendar.getInstance(); startCalender.setTime(startDate); Calendar endCalender = Calendar.getInstance
 2019-11-14   编程  Java    Java 

Shell 编程学习

因为大部分的工作都是重复的,使用脚本会极大地提升自身工作效率。实际工作中有很长时间在使用shell做一些操作,平时也会写一些脚本简化自己的操作,但是基本都是命令的罗列,也就是顺序式编程,很低级。因此决定系统地学习一下shell编程更加提升自我效率。 运行shell脚本的两种方式 #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。 作为可执行程序 chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本 ./的意思是在当前目录寻找test.sh文件,如果不加的话就回去PATH中找,通常都是找不到的。 作为解释器参数 /bin/sh test.sh /bin/php test.php 这种方式运行的脚本,不需要在第一行指定解释器信息(#!/bin/bash),写了也没用。 Shell 变量定义变量 = 变量定义要满足如下规则: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命
 2019-11-04   编程  linux    linux 

G1垃圾回收器部分原理

简介 G1 GC,全称Garbage-First Garbage Collector,通过-XX:+UseG1GC参数来启用。G1的目标是在实现高吞吐量的同时,尽可能的满足垃圾收集暂停时间的需求。 参数及意义 参数 含义 -XX:G1HeapRegionSize=n 设置Region大小,并非最终值 -XX:MaxGCPauseMillis 设置G1收集过程目标时间,默认值200ms,不是硬性条件 -XX:G1NewSizePercent 新生代最小值,默认值5% -XX:G1MaxNewSizePercent 新生代最大值,默认值60% -XX:ParallelGCThreads STW期间,并行GC线程数 -XX:ConcGCThreads=n 并发标记阶段,并行执行的线程数 -XX:InitiatingHeapOccupancyPercent 设置触发标记周期的 Java 堆占用率阈值。默认值是45%。这里的java堆占比指的是non_young_capacity_bytes,包括old+humongous G1 中的重要概念Region
 2019-10-28   Java  编程  Jvm    Jvm 
123…7

Search

Hexo Fluid
 总访问量 次   总访客数 人