Design Patterns Creational
GitbookCourses2021-02-22
💡 Design Patterns: Creational

🪕 1. Creational Design Patterns
- Inheritance
- polymorphism 多态性
- Abstraction
- Encapsulation 封装
🪕 2. The Factory Method Pattern
🪕 3. The Abstract Factory pattern
🪕 4. The Builder Pattern
🪕 5. The Prototype Pattern
🪕 6. The Singleton Pattern
- excalidraw.com:
- 网关 API 本质上是 BFF 模式的变体。它还提供了微服务和客户端之间的附加层。但它不是单一的入口点,而是为每个客户机引入了多个网关。
- 使用 BFF,您可以添加一个为每个客户机的需求量身打造的 API,从而消除了由于将它们都放在一个地方而导致的大量膨胀。
- 对于内部通信,一些最流行的模式包括 REST、gRPC、messagebroker 或远程过程调用。
- 在安全性方面,访问控制列表(ACL)可以用于每个微服务或每个网关,也可以作为独立的微服务(或者根本不使用)。
Golang tech-stack
-
微服务框架
- go-micro
- go-kit
-
网关
- kong
- nginx +lua
- traefik
- apisix
-
服务注册和发现
- consul
- etcd
- zookeeper
-
配置中心
- Apollo
- Nacos
-
服务治理
- 断路器:hystrix-go
- 流量控制:sentinel-golang 从限流、流量整形、熔断降级、系统负载保护等多个维度来帮助您保障微服务的稳定性。
- 链路监控: zipkin,pinpoint,skywalking,jaeger
-
日志、业务、系统监控:
- prometheus
- ELK
- CI/CD: Jenkens, drone
Java tech-stack
Spring Cloud
是在 Spring 基础上构建的,它后面有 2 大公司支撑,Pivotal 和 Netfix 的技术支持。它的核心就是Netflix
贡献的源码,也是这家公司构建了整套微服务体系,才使得微服务架构逐渐流行开来,所以说Netflix
在微服务上的贡献是巨大的。-
Spring Cloud
Spring Cloud
是在 Spring 基础上构建的,它后面有 2 大公司支撑,Pivotal 和 Netfix 的技术支持。它的核心就是 Netflix 贡献的源码,也是这家公司构建了整套微服务体系,才使得微服务架构逐渐流行开来,所以说 Netflix 在微服务上的贡献是巨大的。 -
Pivotal 的 SpingCloud 框架
Spring Cloud
,这个是 Pivotal 集成了 Netfix,或者重新改写了它的框架。Spring
是一个全家桶,Spring Cloud 也是一个全家桶,它由很多技术框架组合而成:- 服务治理服务注册和发现:Netflix Eureka 当然我们也有其他的选择,比如 consul,etcd,zookeeper 等断路器:Hystrix 调用端负载均衡:RibbonREST 客户端:Feign
- 网关 API 网关:Zuul 当然我们也可以选择其他的,比如 Spring Cloud Gateway,kong,nginx+lua,apisix 等
- 分布式链路监控 Spring Cloud Sleuth:埋点和发送数据当然还有其他的比如 zipkin,pinpoint,skywalking,jaeger 等
- 消息组件 Spring Cloud StreamSpirng Cloud Bus
- 消息中间件的其他软件:RocketMQ,Kafka,RabbitMQ
- 配置中心 Spring Cloud Config 配置中心可以有其他的替代,比如 Apollo,Nacos 等
- 安全控制 Spring Cloud Security
https://spring.io/projects/spring-cloud
这个地址列出了 springcloud 各种框架。