自动化测试 - 变异测试

背景

两个测试人员关心的问题

  1. 如何编写能够暴露缺陷的测试用例 \rightarrow 如何引导测试
  2. 如何评估测试套件的质量(提升测试可信度)\rightarrow 如何评估测试
阅读更多
云计算-Overview

云计算定义

  • 综合的概念 – 并不存在一个权威的定义 – 盲人摸象,各有侧重
  • 分析师和分析机构对云计算的理解
    • 非常抽象,不涉及任何实现,普通用户的视角
    • 一个集中的环境,统一提供各种 IT 服务,用户按需付费 – 通过资源共享节约成本
阅读更多
需求与商业模式创新-Introduction

问题域与解系统

软件系统通过影响问题域,能够帮助人们解决问题,称为解系统。

软件解决问题的基础:模拟与共享

阅读更多
HTML 笔记

概述

HTML, Hyper Text Markup Language 超文本标记语言

超文本:包括文字、图片、音频、视频、动画等。HTML5 提供了一些新的元素和一些有趣的新特性,同时也建立了一些新的规则。这些元素、特性和规则的建立,提供了许多新的网页功能,如使用网页实现动态渲染图形、图标、图像和动画,以及不需要安装任何插件直接使用网页播放视频等

阅读更多
Nacos config server and OpenFeign

Nacos 配置管理

统一配置管理

为什么需要配置管理

  1. 配置更新会导致服务重启
  2. 多个服务的相同配置更新需要修改多个地方,可修改性不足。
阅读更多
Ribbon and Nacos

Ribbon 负载均衡

负载均衡原理

Ribbon 源码。

  1. LoadBalancerInterceptor 负载均衡拦截器拦截 HTTP 请求
  2. RibbonLoadBalancerClient 获取url中的服务id(hostname,即前面所说的user-service),交给 DynamicServerListLoadBalancer 来获取该服务id对应的服务列表
  3. DynamicServerListLoadBalancer 到 Eureka 获取对应的服务列表,通过 IRule 接口对应的规则来获得负载均衡选择到的服务
  4. 返回给 RibbonLoadBalancerClient 进行请求,返回结果
阅读更多
服务注册与服务发现

服务拆分

服务拆分的注意事项

根据功能模块进行服务拆分,随着扩展可能会继续拆分

阅读更多
Micro-Service Overview

我们为什么需要微服务

微服务技术是为了应对随着程序规模的扩大和功能的增多,代码的管理难度、可维护性、鲁棒性不断下降而产生的一个因素,其核心的技术就是通过将一个大的、耦合程度高的服务集合拆分成一个个具有独立功能的服务模块独立应用(即一个个Springboot应用),让每个服务之间进行相互通信和发现来进行服务之间的调用。在微服务架构中通常会包括以下的一些组件和中间件:

阅读更多
K8s Introduction

应用部署方式演变

  1. 传统部署:直接部署在物理机上,简单,不需要要其他技术参与,但是不能够为应用程序资源定义边界
  2. 虚拟机部署:程序环境之间不会相互产生影响,提供一定程度的安全性;但是增加了操作系统,浪费了部分资源
  3. 容器化部署:保证每个容器拥有自己的文件系统、CPU、内存、进程空间等。运行应用程序所需要的资源都被容器包装,并和底层基础架构解藕。可以跨云服务商,跨Linux操作系统发行版进行部署
阅读更多
NoSQL数据库介绍

键值数据库

存什么

键值数据库(key-value store)是一张简单的哈希表,主要用在所有数据库访问均通过主键(primary key)来操作的情况下。

阅读更多