自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 收藏
  • 关注

转载 RESTful 接口实现简明指南

在前后端分离的 Web 应用架构中,前端专注于页面,同时与后端进行数据交互;而后端则专注于提供 API 接口。在这样的结构下,REST 是一个很流行的前后端交互形式的约定。这只是一套约定,并不是某个技术标准,所以在实际的应用中,对器实现程度完全取决于后端开发者;一些号称 RESTful 的接口并没有那么RESTful。在我所见过的 RESTful 接口的实现中,以 GitHub 最让人惊叹。我...

2019-12-17 11:00:50 333

转载 deloyment和service概念

deloyment和service概念deploy控制RS,RS控制Pod,这一整套,向外提供稳定可靠的Service。1. pod#查看pods信息 kubectl get podskubectl get pods #查看pod的详细信息 kubectl describe pod mq-svc-5b96bf78d9-brpjw2.ReplicaSet#pod是被Replica...

2019-02-19 17:47:24 648

转载 Kubernetes核心概念总结

deploy控制RS,RS控制Pod,这一整套,向外提供稳定可靠的Service。1. pod#查看pods信息 kubectl get podskubectl get pods #查看pod的详细信息 kubectl describe pod mq-svc-5b96bf78d9-brpjw2.ReplicaSet#pod是被ReplicaSet管理的,RS是比Pod高一级别的专...

2019-02-19 14:57:33 365

转载 Makefile 使用总结(转)

https://www.cnblogs.com/wang_yb/p/3990952.html

2018-11-16 14:10:25 203

转载 Kubernetes系列之五:使用yaml文件创建service向外暴露服务

Service和Pod的理论介绍,方便继续下去Pod是有生命周期的,使用凡人皆有一死来描述pod很贴切,当一个工作节点(node)销毁时,节点上运行的pods也会被销毁, ReplicationController会动态地在其他节点上创建Pod来保持应用程序的运行,每一个Pod都有一个独立的IP地址,甚至是同一个节点上的Pod,可以看出Pod的IP是动态的,它随Pod的创建而创建,随Pod的销毁...

2018-11-15 11:54:42 1305

转载 Kubernetes系列之四:使用yaml文件创建deployment来部署一个应用程序到k8s集群

目的从零开始开发一个超小的应用,将它打包成一个image,利用yaml文件部署到kube集群中。具体的思路是:在开发环境中,打算创建一个node.js应用程序,因为使用它可以让我的程序足够简单,然后使用dockerfile去创建一个docker image,再将它push到docker registry中去;接着使用yaml文件将此image部署到已经搭建好的kube集群中。创建一个node...

2018-11-15 11:47:42 2676

转载 Kubernetes系列之三:部署你的第一个应用程序到k8s集群

部署你的第一个应用程序到k8s集群看到这里,求知欲饥渴难耐的你一定在想,怎么部署的我们应用程序到集群里面去呢?来个简单的,只需要两步:(这里本文使用nginx镜像当我们的应用程序,因为nginx 简单,运行起来后直接可以用浏览器访问网页了。)第一步:在master 节点上创建一个deploymentkubectl create deployment nginx --image=nginx...

2018-11-15 11:41:21 594 1

转载 Go channel 基本语法

channel的基本语法比较简单, 一般的声明格式是:定义格式如下:1 ch := make(chan int)还有一个最常用的就是写入和读出,当你向channel写入数据时会导致程序阻塞,直到有其他goroutine从这个channel中读取数据,同理如果channel之前没有写入过数据,那么从channel中读取数据也会导致程序阻塞,直到这个channel中被写入了数据为止1 ch...

2018-11-02 11:44:44 570

转载 GO语言之channel

前言:初识go语言不到半年,我是一次偶然的机会认识了golang这门语言,看到他简洁的语法风格和强大的语言特性,瞬间有了学习他的兴趣。我是很看好go这样的语言的,一方面因为他有谷歌主推,另一方面他确实有用武之地,高并发就是他的长处。现在的国内完全使用go开发的项目还不是很多,从这个上面可以看到:链接https://github.com/qiniu/go/issues/15,据我了解七牛云存储应该...

2018-11-02 11:41:30 229

转载 由浅入深剖析 go channel

channel 是 golang 中最核心的 feature 之一,因此理解 Channel 的原理对于学习和使用 golang 非常重要。channel 是 goroutine 之间通信的一种方式,可以类比成 Unix 中的进程的通信方式管道。CSP 模型在讲 channel 之前,有必要先提一下 CSP 模型,传统的并发模型主要分为 Actor 模型和 CSP 模型,CSP 模型全称为 ...

2018-11-02 11:11:55 246

转载 长连接和短链接的区别

首先介绍下短链接和长连接的区别:短连接连接->传输数据->关闭连接比如HTTP是无状态的的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。具体就是 浏览器client发起并建立TCP连接 -> client发送HttpRequest报文 -> server接收到报文->server handle并发送HttpResponse...

2018-11-02 09:52:22 3816

转载 并发编程模型总结

并发模型有两种,一种是并行工作者模型,一种是流水线模型。一、所谓并行工作者模型,举个例子来说,就好比汽车厂里面的工人,每个工人专门负责一辆车子的生产,从头到尾负责所有的工作。就好像是线程,拿到了一个请求,后面这个请求的所有工作都由这个线程来处理,直到所有这个请求的所有工作都结束。nginx的workprocessor应该就是这种模型,某个linux进程拿到了用户请求,然后负责这个请求的处理,高...

2018-09-25 22:33:09 146

转载 浅谈异步消息队列模型

什么是消息队列?所谓消息队列,就是一个以队列数据结构为基础的一个实体,这个实体是真实存在的,比如程序中的数组,数据库中的表,或者redis等等,都可以。 首先我们说说为什么要使用队列,什么情况下才会使用队列?我的理解是,那些实时性要求不高,且比较耗时的任务,是队列的最佳应用场景。比如说我在某网站注册一个账号,当我的信息入库注册成功后,网站需要发送一封激活邮件,让我激活账号,而这个发邮...

2018-09-17 13:12:14 349

转载 Docker-Compose入门

Compose 是一个用户定义和运行多个容器的 Docker 应用程序。在 Compose 中你可以使用 YAML 文件来配置你的应用服务。然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务。使用 Compose 基本会有如下三步流程:在 Dockfile 中定义你的应用环境,使其可以在任何地方复制。在 docker-compose.yml 中定义组成应用程序的服务,以便它们...

2018-09-01 19:24:53 164

转载 RPC、REST API深入理解

一:RPCRPC 即远程过程调用(Remote Procedure Call Protocol,简称RPC),像调用本地服务(方法)一样调用服务器的服务(方法)。 通常的实现有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是传输数据的格式.RPC是分布式架构的核心,按响应方式分如下两种: 同步调用:客户端调用服务方方法,等待直到服务方返回结果或者超时,再继续...

2018-08-29 16:52:35 11042

转载 三种主流的Web服务实现方案(REST+SOAP+XML-RPC)简述及比较

目前知道的三种主流的Web服务实现方案为:REST:表象化状态转变 (软件架构风格) SOAP:简单对象访问协议 XML-RPC:远程过程调用协议 下面分别作简单介绍:REST:表征状态转移(Representational State Transfer),采用Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 将所有 Web 系统的服务抽象为资源...

2018-08-29 14:21:03 221

转载 微服务相关概念

1.接口调用接口调用通常包含两个部分,序列化和通信协议。 常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等; 通信协议比较流行的是http、soap、websockect,RPC通常基于TCP实现,常用框架例如netty。 RESTful通常采用http+JSON实现。 JSON-RPC是指通信协议采用二进制方式,而不是htt...

2018-08-27 22:51:14 159

转载 使用redis做为MySQL的缓存

介绍在实际项目中,MySQL数据库服务器有时会位于另外一台主机,需要通过网络来访问数据库;即使应用程序与MySQL数据库在同一个主机中,访问MySQL也涉及到磁盘IO操作(MySQL也有一些数据预读技术,能够减少磁盘IO读写,此部分后续继续研究),总之,直接从MySQL中读取数据不如直接从内存中读取数据来的效率高。为了提高数据库访问效率,人们采用了各种各样的方法,其中方法之一就是使用一个给...

2018-08-27 11:30:16 1260

转载 Kubernetes之YAML文件

YAML 基础YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便。它实质上是一种通用的数据串行化格式。后文会说明定义YAML文件创建Pod和创建Deployment。YAML语法规则:大小写敏感使用缩进表示层级关系缩进时不允许使用Tal键,只允许使用空格缩进的空格数目不重要,只要相同层级的元素左侧对齐即可”#” 表示注释,从这个字符一直到行尾,都会被解析...

2018-08-08 21:59:00 602

转载 ES: 架构及原理

Elasticsearch 是一个兼有搜索引擎和NoSQL数据库功能的开源系统,基于Java/Lucene构建,可以用于全文搜索,结构化搜索以及近实时分析。可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。 说明: Lucene:只是一个框架,要充分利用它的功能,需要使用JAVA,并且在程序中集成Lucene,学习成本高,Lucene确实非常复杂。 Elasticsearch 是 面...

2018-08-06 16:19:09 3002

转载 对比了解Grafana与Kibana的关键差异

我们身处海量数据的包围之中已成众所周知的事实。即使你管理的是一个单独的Linux服务器,那么带着问题一发生就能检测出来并采取措施的目的去管理所有日志时也会遇到问题。问题有多大取决于环境的规模、每台主机的职责、已经安装的服务以及正在使用的协议。当然,日志数据能让我们更好地洞察检测模式,当信息以可视化的形式呈现出来时让我们可以更快速地采取措施。这种分析方法使IT运维团队可以创建透明度,要清楚任何时...

2018-08-06 11:28:37 3478

转载 介绍Telegraf&Logstash

都是数据收集和中转的工具,架构都是插件式配置Telegraf相比Logstash更加轻量都支持大量源,包括关系数据库、NOSQL、直接收集操作系统信息(Linux、Win)、APP、服务(Docker)执行模式分为两种主动:根据配置一次性读取被收集的数据,收集完成后关闭进程被动:作为进程驻留内存,监听特定端口,等待消息发送介绍两种时序数据库使用的架构:1.日志采集,然...

2018-08-02 11:05:51 2394

转载 时间序列数据库概览

1.背景  目前对于时序大数据的存储和处理往往采用关系型数据库的方式进行处理,但由于关系型数据库天生的劣势导致其无法进行高效的存储和数据的查询。时序大数据解决方案通过使用特殊的存储方式,使得时序大数据可以高效存储和快速处理海量时序大数据,是解决海量数据处理的一项重要技术。该技术采用特殊数据存储方式,极大提高了时间相关数据的处理能力,相对于关系型数据库它的存储空间减半,查询速度极大的提高。时间序...

2018-08-02 10:59:52 631

转载 彪悍开源的分析数据库-ClickHouse

今天介绍一个来自俄罗斯的凶猛彪悍的分析数据库:ClickHouse,它是今年6月开源,俄语社区为主,好酒不怕巷子深。本文内容较长,分为三个部分:走马观花,死而后生,遥指杏花村;第一章,走马观花,初步了解一下基本特性;第二章,死而后生,介绍ClickHouse的技术架构演化的今生前世;第三章,遥指杏花村,介绍一些参考资料,包括一些俄文资料。第一章,走马观花俄罗斯的‘百度’叫做Yand...

2018-08-01 17:11:01 3707

转载 gRPC介绍

1.概述gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 ...

2018-07-31 15:15:13 1335

转载 Zookeeper 原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee...

2018-07-30 13:51:39 108

转载 kafka基础概念

1.kafka介绍kafka is a distributed, partitiononed,replicated commited logservice. kafka是一个分布式的、易扩展的、安全性高的消息服务系统。 kafka提供了类似于JMS的特性,但在设计实现上又完全不同,它并不是基于JMS规范实现的(kafka的实现不包含事务特性性)。 kafka对消息的保存时以Topic进...

2018-07-30 11:15:27 333

转载 十分钟看懂时序数据库(II)- 预处理(转)

物联网领域近期如火如荼,互联网和传统公司争相布局物联网。作为物联网领域数据存储的首选时序数据库也越来越多进入人们的视野,早在2016年7月,百度云在其天工物联网平台上发布了国内首个多租户的分布式时序数据库产品TSDB。前文提到时序数据是一个写多读少的场景,对时序数据库以及数据存储方面做了论述,数据查询和聚合运算同样是时序数据库必不可少的功能之一。如何支持在秒级对上亿数据的查询分组聚合运算成为...

2018-07-25 15:31:35 957

转载 十分钟看懂时序数据库(I)-存储(转)

摘要: 2017年时序数据库忽然火了起来。开年2月Facebook开源了beringei时序数据库;到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平台上发布了国内首个多租户的分布式时序数据库产品TSDB,成为支持其发展制造,交通,能源,智慧城市等产业领域的核心产品,同时也成为百度战略发展产业物联网的标志性事件。...

2018-07-25 14:27:18 867

转载 数据库连接池的概念

数据库连接池概述:  数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。   数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为...

2018-07-24 10:49:05 635

转载 Confd+etcd实现高可用自动发现

Confd是一个轻量级的配置管理工具。通过查询Etcd,结合配置模板引擎,保持本地配置最新,同时具备定期探测机制,配置变更自动reload。 其后端支持的数据类型有:etcd、consul、vault、environment variables、redis、zookeeper、dynamodb、stackengine、rancher。不过一般使用Confd和etcd的配合使用比较多。 其常...

2018-07-23 11:49:40 2164

转载 python跨目录调用

在python中有时候我们需要调用另一.py文件中的方法或者类。 如果该.py文件与当前文件位于同一目录下那么问题非常容易解决。 如果两个.py文件位于不同的目录下就比较麻烦。下面分别介绍如下:1.两个.py文件位于同一目录下:假设两个.py文件分别为test1.py, test2.py。现在在test2中想要调用test1.py中的fun1函数。那么可以直接在test...

2018-06-28 14:50:17 1297

转载 Python模块与包示例

一,概念本篇主要介绍Python代码的组织体系——模块与包。作为一种解释型的语言,Python也不是所有的代码都写在一个.py文件里。 这样缺点太大了,比如可能导致一个文件代码太多难以阅读;比如每次写代码都要论成败从头再来,没法引用之前写好的.py文件的内容。所以,Python语言设计者为了组织代码,提出了模块和包的概念。 所谓的模块,其实就是每个.py文件的内容。而所谓的包,就是...

2018-06-28 10:23:19 397

转载 Spark中Standalone的两种提交模式(Standalone-client模式与Standalone-cluster模式)

Spark中Standalone有两种提交模式,一个是Standalone-client模式,一个是Standalone-cluster模式。1.Standalone-client提交任务方式提交命令./spark-submit --master spark://node01:7077 --class org.apache.spark.examples.SparkPi ../l...

2018-06-04 09:54:07 9177

转载 Spark中yarn模式两种提交任务方式(yarn-client与yarn-cluster)

Spark可以和Yarn整合,将Application提交到Yarn上运行,和StandAlone提交模式一样,Yarn也有两种提交任务的方式。 1.yarn-client提交任务方式配置 在client节点配置中spark-env.sh添加Hadoop_HOME的配置目录即可提交yarn 任务,具体步骤如下:export HADOOP_CONF_DIR=$HADO...

2018-06-04 09:39:46 16475 1

转载 Windows下安装python拓展包

python拓展包安装直接安装拓展包默认路径: Unix(Linux)默认路径:/usr/local/lib/pythonX.Y/site-packages Windows默认路径:C:\PythonXY\Lib\site-packages安装pip sudo apt-get install python-pip 测试和升级python拓展安装包pip 查看pip安装时相应的...

2018-06-01 10:50:48 1566

转载 Spark Client和Cluster两种运行模式的工作流程

1.client mode:In client mode, the driver is launched in the same process as the client that submits the application.. 也就是说在Client模式下,Driver进程会在当前客户端启动,客户端进程一直存在直到应用程序运行结束。该模式下的工作流程图主要如下: 工作流程如...

2018-05-18 16:08:45 3414 1

转载 Spark集群三种部署模式的区别

目前Apache Spark支持三种分布式部署方式,分别是standalone、spark on mesos和 spark on YARN。 其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势,部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架,比如MapReduce,公...

2018-05-16 12:21:28 515

转载 Spark job运行模式

1.单机模式运行,即local模式启动spark-shell local模式运行非常简单,只要运行以下命令即可,假设当前目录是$SPARK_HOMEMASTER=local bin/spark-shell“MASTER=local”就是表明当前运行在单机模式2.local cluster方式运行,是一种伪cluster模式local cluster模式是一种伪clus...

2018-05-16 12:08:19 365

转载 redis基本概念和原理

Redis简介REmote DIctionary Server(Redis) 是一个由SalvatoreSanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是字符串(String),...

2017-05-03 15:24:58 18132

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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