moxiaomomo的专栏

个人blog: blog.moguang.me

排序:
默认
按更新时间
按访问量

Centos7安装Kubernetes1.11集群及Dashboard工具

1. 测试节点 暂时一个Master节点,一个Node节点 192.168.1.148 Master 192.168.1.6 Node 建议首先清空iptables路由规则: # (清理filter表的规则,不加 –t 就默认filter表) iptables -X &am...

2018-08-21 11:53:47

阅读数:7

评论数:0

centos7安装ftp服务

通过yum安装vsftpd yum install -y vsftpd 修改配置文件/etc/vsftpd/vsftpd.conf 增加了一些自定义配置,全部配置详细如下: # 原有初始配置 local_umask=022 dirmessage_enable=YES xferlog...

2018-08-16 09:48:23

阅读数:19

评论数:0

微服务开发之单点登录

关于CAS CAS是一种单点登录开源框架,遵循apache2.0协议,代码托管在github.com/apereo/cas上。 而单点登录(SSO, Single Sign On)可简单理解为当用户在一个应用上登录了,其他被授权信任的关联应用不用再登录。 比如在同一个浏览器中登录了天猫,再打开淘...

2018-07-16 08:52:35

阅读数:141

评论数:0

微服务开发之熔断器

一般在微服架构中,有一个组件角色叫熔断器。顾名思义,熔断器起的作用就是在特定的场景下关掉当前的通路,从而起到保护整个系统的效果。 在微服务架构中,一般我们的独立服务是比较多的,每个独立服务之间划分责任边界,并通过约定协议接口来进行通信。当我们的调用链路复杂依赖多时,很可能会发生雪崩效应。 假设...

2018-06-22 17:47:39

阅读数:177

评论数:0

PySpark NaiveBayes算法之中文文本分类测试

假设现在有N行文本,每行文本的第一列已经打好标签, Y 或 N, 用于标识该行文本是否包含敏感词汇;第二列之后的每一列是对某些句子或文本进行中文分词之后的词汇。比如 N 朴素贝叶斯算法 是 生成模型 中 最经典 分类算法 之一 Y 这是 一条 包含 色情 的 语句 我们现在用pyspark...

2018-06-19 16:33:39

阅读数:152

评论数:0

[分布式trace]在Ubuntu17.10上部署jaeger

关于Jaeger Jaeger是由Uber发布的一种分布式调用链跟踪系统,主要用于集成到微服务调用追踪,和Zipkin作用类似。通过调用链跟踪系统,可以快速了解各节点的响应状况,方便定位问题。 Jaeger关键组件 Jaeger本身是一种可单独部署运行的服务,主要有以下几个关键组件: ...

2018-06-18 13:30:17

阅读数:163

评论数:0

基于jaeger和grpc实现的rpc调用链跟踪模块

grpc-jaeger说明 具体源码可参考我的github源码 grpc-jaeger是基于Go的针对gRPC的一种拦截器实现,用于结合jaeger来实现rpc调用链跟踪;可用于集成到微服务的分布式trace功能中。 grpc包中对外暴露了两个接口:grpc.UnaryClientInter...

2018-06-17 22:03:46

阅读数:324

评论数:0

基于环形队列和令牌桶实现的限流模块

概述 在分布式服务架构下,比如微服务架构,一般需要构建一个独立的gateway模块。gateway模块的主要作用包括流量控制,规则路由,负载均衡,鉴权,熔断等等;而gateway一般是stateless的,因此可自由弹性伸缩集群规模,以应对实际的访问场景。 本文主要介绍通过golang实现限流...

2018-06-15 09:29:58

阅读数:174

评论数:0

[微服务]关于架构设计的问题

微服务架构的核心思想是类似的,而不同的应用场景总有不同的具体实践架构。 微服务设计前,我想有几个问题应该需要思考一下: 客户端如何访问这些服务 每个服务的边界如何划分,如何通信 划分成这么多的服务,如何实现部署 划分成这么多的服务,如何有效监控和容灾 以下是基于本地项目环境设计的一种初步...

2018-06-04 14:18:57

阅读数:139

评论数:0

[分布式协议]Go实现raft协议

之前对raft算法是有所了解但无深究,偶然机会下读了下大牛的goraft代码 后,决定自己实现一把。 目前代码基本完成,本人水平有限,代码基本能用,未经严格测试,欢迎指导:源码github地址 以下是项目说明README: raft协议的go版本,实现功能包括: 选主投票 节点心跳 日志...

2018-05-28 15:21:12

阅读数:284

评论数:0

shell curl 与 python requests的一次对比

shell curl 与 python requests 偶然发现了curl和requests库的一个区别。场景是这样的– 这样使用curl去发起post请求: curl -v -X POST http://api.xx.com/api/yy.php --data 'params={&a...

2018-04-19 13:55:01

阅读数:741

评论数:0

[python]书籍信息爬虫示例

[python]书籍信息爬虫示例 背景说明 需要收集一些书籍信息,以豆瓣书籍条目作为源,得到一些有效书籍信息,并保存到本地数据库。 获取书籍分类标签 具体可参考这个链接: https://book.douban.com/tag/?view=type 然后将这些分类标签链接存到本地某个文...

2018-01-10 14:59:47

阅读数:735

评论数:2

golang并发下载多个文件

背景说明假设有一个分布式文件系统,现需要从该系统中并发下载一部分文件到本地机器。 已知该文件系统的部分节点ip, 以及需要下载的文件fileID列表,并能通过这些信息来拼接下载地址。 其中节点ip列表保存在xx_node.txt, 要下载的fileID保存在xx_fileID.txt中。代码示...

2018-01-03 17:27:37

阅读数:1538

评论数:0

[Golang]通过interface实现"泛型"的用例

目前Golang最新版本为1.9, 暂时不支持泛型。 不过可以通过interface实现”泛型编程”效果, 下面以slice类型数据的添加/删除元素为例, 供大家参考一下:package mainimport ( "errors" "fmt&qu...

2017-12-06 10:39:33

阅读数:1042

评论数:0

使用parallel-ssh批量执行远程shell命令

pssh使用场景假设现在需要对数百台服务器节点进行配置更新或者执行一些简短command,而目前并没有完备的部署工具软件, 那可以选择向pssh这样的并行登录远程终端并执行指定命令的shell工具。 以前机器节点少的时候,直接用shell写个for循环来执行命令,也没什么问题。当节点数量多了之后...

2017-12-05 11:39:56

阅读数:754

评论数:0

分布式转码初步方案(hadoop+ffmpeg)

分布式转码初步方案背景说明现有的转码方案是一个转码worker处理整个视频的不同清晰度的转码,如果一个视频很大,那这个视频转码将非常耗时。 因此需要改进方案,要求对大多数格式的视频可以进行切片后并行转码,以此提高一个视频的转码效率。技术预研目前搜到的参考资料,基本都是针对某几个特定格式的分布式转...

2017-11-29 12:14:11

阅读数:1284

评论数:2

分布式文件上传服务架构设计

背景由于某业务需要,需要对文件上传服务进行一次架构调整,初步考虑几点: 水平扩展性:上传worker节点按需弹性部署 负载均衡:根据上传worker节点的状态随时均衡调度 支持断点续传:即需要提供分片上传接口 支持秒传:对于上传过的相同文件直接响应完成 就近原则:通过离用户最近的区域节点上传文件,...

2017-11-20 23:35:07

阅读数:1631

评论数:2

golang内存管理

最近粗略看了下golang内存初始化相关的代码,结合大牛们的一些源码分析,自己整理了一下学习总结。几个关键数据结构 mspan 由mheap管理的页面,记录了所分配的块大小和起始地址等 mcache 与P(可看做cpu)绑定的线程级别的本地缓存 mcenter 全局空间的缓存,收集了各种大小...

2017-11-16 00:19:36

阅读数:872

评论数:0

golang知识点整理(持续更新)

对golang的整体理解 Go是一种编译型语言,结合了解释型语言的优点(如调试效率,跨平台),动态类型语言的优点(如开发效率),以及静态类型的优点(如安全性); Go是静态类型语言,类型系统没有层级,因此无需在类型关系定义上耗费过多时间; Go是垃圾回收型的语言,并为并发执行与通信提供了基本的支持...

2017-11-14 13:45:22

阅读数:642

评论数:0

[Golang]另一角度理解goroutine

偶然看到一条关于goroutine有趣的QA: https://news.ycombinator.com/item?id=12459841 发现可以以另一种方式来理解goroutine,欢迎拍砖。关键概念说明:M: machine, M对应于内核线程; P: processor, P是一种在M...

2017-11-09 20:03:20

阅读数:484

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭