学习笔记

一张图秒懂微服务网络架构

最近参与了 公有云微服务项目,已经有一段时间未公开发表。通过这次改造公有云微服务项目的实践过程,分享一下公有云微服务网络架构,及服务部署方案。 每个平台的网络架构图都类似,但细节根据自有服务有组件又各不一样,别人的架构拿过来不一致适合你的架构,那么首先要了解每层架构及每个服务的职责,以及服务与服务之间的交互逻辑。我们根据私有云的架构迁移过来,保持了部分架构,补充了原来在私有云部署中公共组件部分。迁移到公有云后,一些公共组件由我们自己搭建并运维。整理总览图请看下图: 网络架构总览图 file ...

shell 字符串比较与脚本 too many arguments 报错

 最近在写 shell 脚本的时候,遇到了一些小问题,就是我在判断一个字符串是否为空的时候经常报下面的错,程序是正常执行了,但是有这个提示很蛋疼,下面就是看看是什么问题导致的?...

这次,我是如何监控服务器CPU和内存的

背景 在新项目A中,要结合业务做性能测试。对于做过N次性能测试的我,这次有些巧妇有难无米之炊的感觉。以往的项目,服务器都是部署在AWS或者阿里云,像这样的云服务器厂商是可以通过轻松配置各种Dashboard来实时监控整个系统服务器的各种新能。然而,这一次,服务器不在云上,并且不允许连接外网。那出一个类似的服务器CPU和内存实时使用情况的折线图,该如何做呢? 思路 以结果为导向,需要的是一张压测时服务器CPU和内存的折线图,那么如何画图?Excel可以插入类似的折线图,那么数据怎么来?Linux中有些命令可以记录当时的服务器CPU和内存的情况,如果有脚本或者命令把这些数据实时记录下来,并且把这些数据导出到csv文件,然后借助Excel就能得我们要的结果。 ...

[开源]基于goapp+xterm实现webssh-网页上的SSH终端linux管理工具(golang)

简析 基于goapp+xterm实现webssh-网页上的SSH终端,linux管理工具。 开源地址见文末。 特性 在网页上实现一个SSH终端。从而无需Xshell之类的模拟终端工具进行SSH连接。 可以对交互命令进行审计、记录 在页面上按一个键,就能打开一个webssh,并且自动登录 ,方便地管理各个服务器 可以集成到自有的后台管理体系中 下载并运行 下载可执行文件体验 链接: https://pan.baidu.com/s/1cgMF0rXf5hlx0DF3N7nVUw 提取码: have ...

C#之委托如此简单

 近期和几位做嵌入式开发的朋友闲聊过程中,一位朋友抱怨到:这C#太难用了,我想在N个窗体(或者是N个用户组件之间)传递值都搞不定,非得要定义一个全局变量来存储,然后用定时器来刷新值,太Low了。我急切的回答道:这很简单,不就是委托的事嘛。那你来一个示例啊:朋友道。此为这篇博客的起因,所以此篇博客对于有c#开发经验的伙伴们那是小菜一喋。...

MySQL8.0 redo日志系统优化

背景 现在主流的数据库系统的故障恢复逻辑都是基于经典的ARIES协议,也就是基于undo日志+redo日志的来进行故障恢复。redo日志是物理日志,一般采用WAL(Write-Ahead-Logging)机制,所以也称redo日志为wal日志,redo日志记录了所有数据的变更,undo日志是逻辑日志,记录了所有操作的前镜像,方便异常时进行回滚。用户在提交事务时,只要确保写redo日志成功即可,并不需要对应的数据页也实时落盘,这套机制的基本思想是利用空间换时间,用户事务的更新实际上在数据页和redo日志中记录了两份,传统的数据库存储引擎都是基于B+Tree来组织数据页,因此刷数据页是离散小块IO,而写redo是顺序IO,对磁盘介质更友好,而且OLTP场景下,业务对RT(ResponseTime)也比较敏感,所以这套机制非常流行。 ...

微服务SpringCloud之GateWay服务化和过滤器

 Spring Cloud Gateway 提供了一种默认转发的能力,只要将 Spring Cloud Gateway 注册到服务中心,Spring Cloud Gateway 默认就会代理服务中心的所有服务。...

TensorFlow如何提高GPU训练效率和利用率

前言 首先,如果你现在已经很熟悉tf.data+estimator了,可以把文章x掉了╮( ̄▽ ̄””)╭ 但是!如果现在还是在进行session.run(..)的话!尤其是苦恼于GPU显存都塞满了利用率却上不去的童鞋,这篇文章或许可以给你打开新世界的大门噢( ̄∇ ̄) 如果发现经过一系列改良后训练效率大大提高了,记得回来给小夕发小红包( ̄∇ ̄) 不过,这并不是一篇怒贴一堆代码,言(三)简(言)意(两)赅(语)就结束的CSDN文风的文章。。。所以伸手党们也可以X掉了╮( ̄▽ ̄””)╭ 缘起 很早很早之前,在小夕刚接触tensorflow和使用GPU加速计算的时候,就产生过一个疑惑。为什么显卡的显存都快满了,GPU利用率还显示这么低呢?好浪费呀,但是又无可奈何。当时GPU利用率100%的情况基本是仅存于一块显卡塞4、5个不费显存的小任务的情况。 ...

Python SQLAlchemy入门教程

本文将以Mysql举例,介绍sqlalchemy的基本用法。其中,Python版本为2.7,sqlalchemy版本为1.1.6。 一. 介绍 SQLAlchemy是Python中最有名的ORM工具。 关于ORM: 全称Object Relational Mapping(对象关系映射)。 特点是操纵Python对象而不是SQL查询,也就是在代码层面考虑的是对象,而不是SQL,体现的是一种程序化思维,这样使得Python程序更加简洁易读。 具体的实现方式是将数据库表转换为Python类,其中数据列作为属性,数据库操作作为方法。 ...

Java多线程中join、yield、sleep方法详解

 在Java多线程编程中,Thread类是其中一个核心和关键的角色。因此,对该类中一些基础常用方法的理解和熟练使用是开发多线程代码的基础。本篇主要总结一下Thread中常用的一些静态方法的含义及代码中的使用。...

MongoDB 谨防索引seek的效率问题

目录 背景 初步分析 索引seeks的原因 优化思路 小结 声明:本文同步发表于 MongoDB 中文社区,传送门: http://www.mongoing.com/archives/27310 背景 最近线上的一个工单分析服务一直不大稳定,监控平台时不时发出数据库操作超时的告警。 运维兄弟沟通后,发现在每天凌晨1点都会出现若干次的业务操作失败,而数据库监控上并没有发现明显的异常。 在该分析服务的日志中发现了某个数据库操作产生了 SocketTimeoutException。 开发同学一开始希望通过调整 MongoDB Java Driver 的超时参数来规避这个问题。 ...

【工利其器】必会工具之(九)Android Lint篇——为Android量身定做的代码审查利器

前言 我们在进行代码优化的时候,往往是通过开发者的经验来判断哪些代码可能存在潜在问题,哪些资源的使用不合规范等。实际上Android SDK提供了一款功能非常强大的工具,来帮助开发者自动检测代码的质量及安全问题,这款工具就叫Android Lint。Lint提供了命令行方式以及与IDE集成的方式来执行,现在Android开发者基本上都使用Android Studio(后文简称AS,下同)来进行开发,强大的AS也集成了该工具,本文就基于AS3.2版本来介绍Lint。 一、Android Lint简介 ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程