2021年1月21日
通常我们写程序时需要封装,需要函数调用,函数调用通常在本程序内完成。随着计算机技术的发展和需求场景的变化,有时就需要从一台计算机上执行另外一台计算机上的程序的需求,因此发展出来了RPC技术。特别是目前随着互联网技术的快速迭代和发展,用户和需求几乎都是以指数式的方式在高速增长,这个时候绝大多数情况下程序都是部署在多台机器上,就需要在调用其他……
阅读全文
2021年1月19日
开发软件日志很重要,不管是应用的标准输出信息,还是主动打印的日志,还是被动的异常信息;都有被记录和整理的需求。大数据从哪里来,很多时候其实是从日志中来的。日志很重要,Go标准库也为日志输出内置了大量实用方法。 标准配置 标准库就提供了这些参数,按需要配置就好了: 1 2 3 4 5 6 7 8 9 10 const ( Ldate = 1 ………
阅读全文
2021年1月14日
现在IT领域都讲大数据、高并发、海量连接等时髦词汇,这些特性的系统在上线之前一定会做大量的测试,今天介绍一些常用的性能测试工具。 先认识几个专有名词: 1、吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理 ………
阅读全文
2021年1月12日
前面我们学习了并发以及解决并发的常用方式;今天我们看看Go语言实现的三种常用并发模式;这些模式可以在实际生产应用中合理使用,免去了我们造轮子的过程。 我们说过通道的性能并不是太好,这个在大批量循环处理的时候的确有些问题。性能不是关键诉求的场景下还是可以的,他能简化编程。这里讲的三种并发模式,都需要结合使用通道和协程。 Runner 下面给 ………
阅读全文
2021年1月12日
第九篇文章我们学习了Go解决并发编程问题的三种方式。归根结底都是采用加锁,让并发变成同步访问。那么这些处理方式性能如何呢? 先介绍一个Linux下面统计时间的命令time,具体可以参考:https://www.runoob.com/linux/linux-comm-time.html 这里做一个测试,启动两个协程,一个对数执行++操作,一 ………
阅读全文
2021年1月10日
这里我们以简单的NodeJS应用为例,总结一下K8s如何部署应用服务。 Docker打包NodeJS应用 将自己的NodeJS应用打包到Docker中有很多种方法,大家可以参考官方文档: https://nodejs.org/zh-cn/docs/guides/nodejs-docker-webapp/ 下面介绍用最简单的方法打包自己的应 ………
阅读全文
2021年1月8日
DevOps是什么呢? 有人说它是一种方法,也有人说它是一种工具,还有人说它是一种思想。更有甚者,说它是一种哲学。 说的有点玄乎,我们看看DevOps的维基百科定义是这样的: DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。 软件工程方法论演变 一个软件从零开始到最终交付,大概 ………
阅读全文
2021年1月7日
Go语言SDK内置了很多实用的工具,默认自带了单元测试、基准测试命令;今天我们来看看如何做好单元测试。 什么是单元测试 百度百科:单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软 ………
阅读全文
2021年1月6日
Go语言SDK内置了很多实用的工具,默认自带了单元测试、基准测试命令;我们先看看基准测试如何使用。 什么是基准测试 百度百科:基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。例如,对计算机CPU进行浮点运算、数据访问的带宽和延迟等指标的基准测试,可以使用户清楚地了解每一 ………
阅读全文
2021年1月4日
这么多年,经历过大大小小的项目不少了,罗列一些当做纪念了,后面慢慢补充。 基金销售平台 鼎信汇金是最早一批中国证监会下发基金代销牌照的公司。我们围绕这项重点业务,开发了从前端网站、APP、微信公众号,到基金销售后端系统(交易处理模块采购自恒生电子),以及围绕这项业务的众多子项目;比如财经数据的整理、行情展示、数据指标化研究、基金交易等。特 ………
阅读全文