Blog

Kong Web图形化管理工具Konga部署安装

2020-06-04
Apigateway, Kong

因为kong的社区版不提供dashboard,本文将介绍kong的第三方开源的图形化管理工具konga在Kubernetes集群上的部署安装。 konga是一个非官方的第三方开源的kong的图形化管理工具,konga需要使用kong的Admin API,konga具有如下特性:

...

使用helm在Kubernetes集群中部署Kong

2020-06-03
Apigateway, Kong

本文将使用helm在Kubernetes集群中部署微服务API网关kong,并将其用作Kubernetes的Ingress Controller。

Kong官方单独维护了一个项目叫Kong for Kubernetes,项目的地址是https://github.com/Kong/kubernetes-ingress-controller。 Kong for Kubernetes是一个Kubernetes的Ingress Controller,通过插件架构提供API管理能力。 Kong官方另外提供了一个Helm Chart,使用Helm安装这个Chart可以在Kubernetes集群上运行Kong所需的所有组件。

...

API网关kong简介

2020-06-02
Apigateway, Kong

kong是一个云原生的、高性能的、可扩展的API网关(分布式微服务抽象层)。 kong基于openresty, nginx+lua模块开发,其核心价值就是高性能和可扩展性。

kong的基本运行情况如下图所示,kong可以通过充当微服务请求的网关, 同时通过插件提供负载均衡、日志记录、身份认证、速率限制(rate-limiting)、转换(transformations)等功能。

...

使用grpcurl访问gRPC服务

2020-04-28
Grpc

grpcurl是一个命令行工具,使用它可以在命令行中访问gRPC服务,就像使用curl访问http服务一样。

准备: 在gRPC服务中注册reflection服务 #

gRPC服务是使用Protobuf(PB)协议的,而PB提供了在运行时获取Proto定义信息的反射功能。grpc-go中的"google.golang.org/grpc/reflection"包就对这个反射功能提供了支持。

这里以grpc-go官方的helloword为例,代码结构如下:

1grpc-hello
2├── go.mod
3├── go.sum
4├── main.go
5└── proto
6    ├── doc.go
7    ├── helloworld.pb.go
8    └── helloworld.proto

helloworld.proto:

...

设计模式之美学习笔记22: 用迪米特法则(LOD)实现高内聚、松耦合

2019-12-23
Design Patterns

今天继续打卡学习极客时间上的专栏“设计模式之美”, 本篇是专栏第22节的学习笔记,介绍面向对象设计原则中的迪米特法则(LOD)原则。

笔记 #

面向对象有很多经典的设计原则:

  • SOLID5原则分别是
    • 单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖反转原则(DIP)
  • KISS - Keep It Simple, Stupid
  • YAGNI - You aren’t gonna need it
  • DRY - Don’t Repeat Yourself
  • LOD - Law of Demeter(迪米特法则,又叫做最少知识原则)

LOD原则 #

“高内聚、弱耦合"是一个非常重要的设计思想,能够有效的提高代码的可读性和可维护性,能够缩小功能改动导致的代码改动范围。 “高内聚、弱耦合"实际上可以作为很多设计思想、设计原则的总纲,很多设计思想、设计原则都是以实现"高内聚、弱耦合"为目的,例如单一职责原则(SRP)、基于接口而非实现编程等等。

...

设计模式之美学习笔记21: DRY原则

2019-12-20
Design Patterns

今天继续打卡学习极客时间上的专栏“设计模式之美”, 本篇是专栏第21节的学习笔记,介绍面向对象设计原则中的DRY原则。

笔记 #

面向对象有很多经典的设计原则:

  • SOLID5原则分别是
    • 单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖反转原则(DIP)
  • KISS - Keep It Simple, Stupid
  • YAGNI - You aren’t gonna need it
  • DRY - Don’t Repeat Yourself
  • LOD - Law of Demeter(迪米特法则,又叫做最少知识原则)

DRY原则 #

DRY原则,中文译为不要重复自己,不要写重复代码,不要自己造轮子。 但实际上,重复的代码不一定违背DRY原则,而有些看似不重复的代码确可能违背DRY原则。 DRY原则也与代码的复用性相关。

...

设计模式之美学习笔记20: KISS原则和YAGNI原则

2019-12-18
Design Patterns

今天继续打卡学习极客时间上的专栏“设计模式之美”, 本篇是专栏第20节的学习笔记,介绍面向对象设计原则中的KISS原则和YAGNI原则。

笔记 #

面向对象有很多经典的设计原则:

  • SOLID5原则分别是
    • 单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖反转原则(DIP)
  • KISS - Keep It Simple, Stupid
  • YAGNI - You aren’t gonna need it
  • DRY - Don’t Repeat Yourself
  • LOD - Law of Demeter(迪米特法则,又叫做最少知识原则)

KISS原则 #

KISS原则直译过来就是"尽量保持简单"。 KISS原则是保持代码可读性和可维护性的重要手段,足够简单,也就意味着很容易读懂,这就让BUG不容易隐藏且更容易修复。 这个原则从另一个角度也给出了我们在做开发时不要过度设计,要学会用简单的方法解决复杂的问题。

...

设计模式之美学习笔记19: 依赖反转原则(DIP)

2019-12-16
Design Patterns

今天继续打卡学习极客时间上的专栏“设计模式之美”, 本篇是专栏第19节的学习笔记,介绍面向对象设计原则中的依赖反转原则(DIP)。

笔记 #

面向对象有很多经典的设计原则:

  • SOLID5原则分别是
    • 单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖反转原则(DIP)
  • KISS - Keep It Simple, Stupid
  • YAGNI - You aren’t gonna need it
  • DRY - Don’t Repeat Yourself
  • LOD - Law of Demeter(迪米特法则,又叫做最少知识原则)

依赖反转原则 #

依赖反转(DIP)与控制反转(IOC)、依赖注入(DI)有什么区别和联系呢?

...

设计模式之美学习笔记18: 理解接口隔离原则(ISP)中的接口

2019-12-13
Design Patterns

今天继续打卡学习极客时间上的专栏“设计模式之美”, 本篇是专栏第18节的学习笔记,介绍面向对象设计原则中的接口隔离原则。

笔记 #

面向对象有很多经典的设计原则:

  • SOLID5原则分别是
    • 单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖反转原则(DIP)
  • KISS - Keep It Simple, Stupid
  • YAGNI - You aren’t gonna need it
  • DRY - Don’t Repeat Yourself
  • LOD - Law of Demeter(迪米特法则,又叫做最少知识原则)

接口隔离原则 #

接口隔离原则: 接口的调用者(或使用者)不应该强迫依赖它不需要的接口。 我们可以把接口理解为下面三种东西:

...

© 2024 青蛙小白