Go语言中文网 为您找到相关结果 167

kafka的理论知识

kafka官网上介绍kafka是一个分布式流处理平台。 那什么是流处理平台呢,流处理平台有以下三种特性: 可以让你发布和订阅流式的记录。这一方面与消息队列或者企业消息系统类似。 可以储存流式的记录,并且有较好的容错性。 可以在流式记录产生时就进行处理。 第一个特性很好理解,我们可以用kafka去发消息和接受消息,做一个广播,这个很多工具都可以做到,redis也支持,自己实现也可以,但是kafka强大在他的高可用高性能和可靠性。 第二点,kafka他自己有个参数,log.retention.hours,日志删除的时间阈值(小时为单位),默认是168小时,也就是七天,这七天内的消息,你都可以重新消费到,也可以确定从何处开始消费。 第三点,kafka利用Kafka Streams,我们可以对kaf...阅读全文

博文 2020-03-02 01:32:46 yellowone

好程序员大数据入门学习之Hadoop技术优缺点

好程序员大数据入门学习之Hadoop技术优缺点(1)Hadoop具有按位存储和处理数据能力的高可靠性。(2)Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中,具有高扩展性。(3)Hadoop能够在节点之间进行动态地移动数据,并保证各个节点的动态平衡,处理速度非常快,具有高效性。(4)Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配,具有高容错性。Hadoop的缺点(1)Hadoop不适用于低延迟数据访问。(2)Hadoop不能高效存储大量小文件。(3)Hadoop不支持多用户写入并任意修改文件。Hadoop的核心组件Hadoop自诞生以来,主要出现了Hadoop1、Hadoop2、Hadoop3三个系列多个版本。H...阅读全文

MAY-Lesson 1

笔记 - unsafe Package unsafe contains operations that step around the type safety of Go programs. Packages that import unsafe may be non-portable and are not protected by the Go 1 compatibility guidelines. unsafe 库让 golang 可以像C语言一样操作计算机内存,但这并不是golang推荐使用的,能不用尽量不用,就像它的名字所表达的一样,它绕过了golang的内存安全原则,是不安全的,容易使你的程序出现莫名其妙的问题,不利于程序的扩展与维护。 unsafe.Sizeof Sizeof ...阅读全文

博文 2019-05-22 17:34:53 夜空一起砍猩猩

golang-101-hacks(21)——类型断言&类型开关

通过类型断言(type assertion)方式来判断接口的具体类型, Sometimes, you may want to know the exact type of an interface variable. In this scenario, you can use type assertion: x.(T) x”的类型必须为interface的变量,“T”表示是推断的类型。例如: x is the variable whose type must be interface, and T is the type which you want to check. For example: package main import "fmt" func printValue(v inte...阅读全文

博文 2019-06-23 23:32:43 羊羽shine

入门编程,一定要从C语言开始吗?

很多小伙伴在入门编程时,C语言课程开始的,但最近有的小伙伴问我,学编程一定要从C语言开始吗?直接学习JAVA可以吗?大雄建议:在选择编程语言之前,搞清楚自己的编程目的,有没特别想打磨一个产品出来?​​比如有些程序员想自己打造一款Java 游戏,所以他选择了java。所以,一定程度上取决于你的编程目的。C语言现在已经很成熟,它的各种语法规则、思想都已经确立起来了,并对现在的很多语言产生很大的影响。所以作为底层语言也是很多人在入门编程时想要第一个学习的。但是任何事物都有其优点和缺点,C语言也不例外。下面大雄带大家分别来看一下。C语言的优点C语言的优点有三个:代码量小运行速度快功能强大我们先看第一个优点,C语言的代码量很小,这是什么意思呢?也就是说如果要完成同样一个功能,用C语言编写出来的程序的容...阅读全文

博文 2019-01-17 17:03:54 wangzijuan

006_golang中的init函数和main函数

一、 (1)init函数 init 函数可在package main中,可在其他package中,可在同一个package中出现多次。 (2)main函数 main 函数只能在package main中。 (3)执行顺序如下图: golang里面有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能应用于package main)。这两个函数在定义时不能有任何的参数和返回值。 虽然一个package里面可以写任意多个init函数,但这无论是对于可读性还是以后的可维护性来说,我们都强烈建议用户在一个package中每个文件只写一个init函数。 go程序会自动调用init()和main(),所以你不需要在任何地方调用这两个函数。每个package中的init函数都...阅读全文

博文 2018-06-02 16:30:01 arun-python

C/C++语言的适用性

在 2017年 本年度计算机语言榜这篇中, 我们汇报总结了 2017 年最最火的 TOP 20 计算机语言,全部的语言中,Java、C、C++ 名列前三。Java 凭着可移植性、可扩展性及其庞大的社区性傲视群雄,那麼最原始的 C 和 C++ 为什么依然成活至今?本文的创作者亦发表了自身的观点,他觉得,硬件访问、效率高、跨平台性、持续演进、应用领域广泛等等全是他们风靡迄今不可缺少的关键因素。 下列为译文: C 语言问世于 1972 年(45 年前),而 C ++ 问世于 1985 年。或许有些人会觉得在这般悠长的时间里,像 C、C++ 那样古老的语言早已日薄西山,显然你弄错: 访问硬件 在许多应用程序中浏览硬件是十分关键的,C 和 C ++ 能够或多或少让人完全控制硬件。直接操控硬件的益处有:...阅读全文

博文 2019-01-17 16:04:46 Yaphets123

Golang并发模型:轻松入门协程池

goroutine是非常轻量的,不会暂用太多资源,基本上有多少任务,我们可以开多少goroutine去处理。但有时候,我们还是想控制一下。 比如,我们有A、B两类工作,不想把太多资源花费在B类务上,而是花在A类任务上。对于A,我们可以来1个开一个goroutine去处理,对于B,我们可以使用一个协程池,协程池里有5个线程去处理B类任务,这样B消耗的资源就不会太多。 控制使用资源并不是协程池目的,使用协程池是为了更好并发、程序鲁棒性、容错性等。废话少说,快速入门协程池才是这篇文章的目的。 协程池指的是预先分配固定数量的goroutine处理相同的任务,和线程池是类似的,不同点是协程池中处理任务的是协程,线程池中处理任务的是线程。 最简单的协程池模型 上面这个图展示了最简单的协程池的样子。先把协...阅读全文

006_golang中的init函数和main函数

一、 (1)init函数 init 函数可在package main中,可在其他package中,可在同一个package中出现多次。 (2)main函数 main 函数只能在package main中。 (3)执行顺序如下图: golang里面有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能应用于package main)。这两个函数在定义时不能有任何的参数和返回值。 虽然一个package里面可以写任意多个init函数,但这无论是对于可读性还是以后的可维护性来说,我们都强烈建议用户在一个package中每个文件只写一个init函数。 go程序会自动调用init()和main(),所以你不需要在任何地方调用这两个函数。每个package中的init函数都...阅读全文

博文 2018-06-02 17:30:01 arun-python

分布式负载均衡算法之亲和性轮询原理

无论是在早期的负载均衡器中,还是当前微服务基于客户端的负载均衡中,都有一个最基础的轮询算法,即将请求平均分布给多台机器,今天聊聊在此基础上, kube proxy是如何实现亲和性轮询的核心数据结构. 了解亲和性策略实现,失败重试等机制 1. 基础筑基 1.1 Service与Endpoints Service和Endpoint是kubernetes中的概念,其中Service代表一个服务,后面通常会对应一堆pod,因为pod的ip并不是固定的,用Servicel来提供后端一组pod的统一访问入口, 而Endpoints则是一组后端提供相同服务的IP和端口集合在这节内容中大家知道这些就可以来, 1.2 轮询算法 轮询算法可能是最简单的算法了,在go里面大多数实现都是通过一个slice存储当前可...阅读全文

博文 2020-02-07 11:34:17 8小时_2020

MaxCompute访问TableStore(OTS) 数据

摘要: MaxCompute作为阿里云大数据平台的核心计算组件,承担了集团内外大部分的分布式计算需求。 免费开通大数据服务:https://www.aliyun.com/product/odps **前言** MaxCompute作为阿里云大数据平台的核心计算组件,承担了集团内外大部分的分布式计算需求。而MaxCompute SQL作为分布式数据处理的主要入口,为快速方便处理/存储EB级别的离线数据提供了强有力的支持。 随着大数据业务的不断扩展,新的数据使用场景在不断产生,在这样的背景下,MaxCompute计算框架也在不断的演化,原来主要面对内部特殊格式数据的强大计算能力,也正在一步步的开放给不同的外部数据。 之前我们介绍了怎样[在MaxCompute上处理存储在OSS上...阅读全文

分布式从ACID、CAP、BASE的理论推进

作为当今互联网后端技术栈工程师、无论Golang、Java或者其他系,分布式的理论概念都逐步成为必备理论基础知识之一, 本文主要讨论分布式的CAP理论的推进,这是你走进分布式大门的第一块敲门砖。 提纲: 一、从本地事务到分布式理论 二、ACID理论 三、CAP理论 四、CAP理论“3选2”论证 五、BASE理论 附加:分布式概念 分布式实际上就是单一的本地一体解决方案,在硬件或者资源上不够业务需求,而采取的一种分散式多节点,可以扩容资源的一种解决思路。它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给多个计算机进行处理,最后把这些计算结果综合起来得到最终的结果。 那么在了解分布式之前,我们应该从一体式的构造开始说明。 一、从本地事务到分布式理论 理解第...阅读全文

博文 2020-03-27 11:36:18 aceld

Golang MSC 约定

分层结构 Model (模型) 可以包含少量方法; 不引用外部资源; 功能: 数据传输; 持久话; 校验信息; json、xml转换格式定义; 如无必要,转换json、xml格式时无需改变字段大小写,减少无谓的工作量; Service (服务) 提供被多方使用的公共方法; 名称以Service结尾; 会被多个Ctrl或Service调用; 可创建、输入、输出Model; 可调用其他Service; 不可调用Ctrl; 主要的单元测试对象,覆盖率要足够高; 提供一个New方法创建服务,方法的参数是需要引用的其他服务; Ctrl (控制器) 对外提供交互服务; 名称以Ctrl结尾; 包含一个路由方法(Party),说明RESTful调用名称、路径、模式参数等; Ctrl不能被Model和Serv...阅读全文

博文 2019-08-29 11:32:53 安德徐

2019-01-17

【CSDN编者按】在 2017年 本年度计算机语言榜这篇中, 我们汇报总结了 2017 年最最火的 TOP 20 计算机语言,全部的语言中,Java、C、C++ 名列前三。Java 凭着可移植性、可扩展性及其庞大的社区性傲视群雄,那麼最原始的 C 和 C++ 为什么依然成活至今?本文的创作者亦发表了自身的观点,他觉得,硬件访问、效率高、跨平台性、持续演进、应用领域广泛等等全是他们风靡迄今不可缺少的关键因素。下列为译文:C 语言问世于 1972 年(45 年前),而 C ++ 问世于 1985 年。或许有些人会觉得在这般悠长的时间里,像 C、C++ 那样古老的语言早已日薄西山,显然你弄错: 1. 访问硬件在许多应用程序中浏览硬件是十分关键的,C 和 C ++ 能够或多或少让人完全控制硬件。直接...阅读全文

博文 2019-01-17 17:35:04 青春埋在这

利用阿里云容器服务实现自定义节点伸缩

摘要: 容器服务目前提供创建节点触发器的功能,调用节点触发器,并可以利用openAPI查看扩容出来的ECS节点方便管理和自动化的需求. 本文将向您介绍完成这一能力的步骤。 简介 阿里云容器服务很早就提供了基于集群CPU/内存的平均使用量触发节点自动伸缩功能,帮助许多客户自如应对业务压力的弹性变化。其原理是利用阿里云的云监控能力,在资源使用(cpu和memory)达到阈值时,触发节点伸缩。 同时还有一些企业级用户希望根据自身的监控数据和逻辑判断是否进行扩容和缩容操作,甚至可以按照固定时间进行节点扩容和缩容,针对这种场景,就需要调用的是扩容或者缩容触发器。 容器服务目前提供创建节点触发器的功能,调用节点触发器,并可以利用openAPI查看扩容出来的ECS节点方便管理和自动化的...阅读全文

解析DataWorks数据集成中测试连通性失败问题

摘要: 大家好,这里和大家分享的是DataWorks数据集成中测试连通性失败的排查思路。与测试连通性成功与否的相关因素有很多,本文按照多个因素逐步排查,最终解决问题,希望大家以后再遇到此类问题,请参考此文,相信能够顺利解决您的问题。 一、问题现象 此案例中,DataWorks项目位于华东2,RDS Mysql数据源位于华东1(VPC网络),使用DataWorks进行数据同步之前,首先需要建立数据源,但在建立数据源RDS Mysql的配置页面,“测试连通性”失败,即数据源并没有连通。 1 二、问题处理过程 (1)首先,应该判断该数据源是否支持“测试连通性” 遇到测试连通性问题,首先应该判断该数据源是否支持“测试连通性”,请大家参考《各数据源测试连通性支持情况》。...阅读全文