Iewiewiew Github Documentation
website·Indexed 30 days ago
https://iewiewiew.github.ioSearchable website documentation for Iewiewiew Github from https://iewiewiew.github.io.
What's inside Iewiewiew Github Documentation
- Apollo is a reliable distributed configuration management center used to centrally manage configurations across different environments and clusters for microservices. It supports real-time configuration push to applications and includes governance features for permissions and workflows. The server is built on Spring Boot and Spring Cloud, while clients are available for Java (framework-independent, with Spring/Spring Boot support) and .Net.
Overview of Drawio and drawio-desktop
Drawio is a free and open-source flowchart drawing software available at app.diagrams.net. For a desktop experience, drawio-desktop is an Electron-based application provided by diagrams.net.Overview of ChaosBlade Architecture
ChaosBlade is a chaos engineering toolset designed to help enterprises solve high-availability issues in cloud-native environments. It supports Linux, Docker, Kubernetes, and various cloud provider environments. The architecture consists of four main components:
- ChaosBlade-Box Console: A web-based UI for orchestrating and managing chaos experiments.
- ChaosBlade-Box Server: The core logic component responsible for experiment management, orchestration, and probe/application management. It includes the Chaos Engine (orchestration, safety control, reporting), Chaos Runner (execution), and Chaos Experience (knowledge base).
- Agent: Deployed on hosts or K8s clusters to maintain heartbeats with the Box Server and act as a command delivery channel.
- ChaosBlade: The primary execution tool used to inject faults into system network devices, file systems, kernels, and running applications.
Overview of Supabase platform
Supabase is an open-source alternative to Firebase that provides a one-stop backend platform built on top of PostgreSQL. It integrates several core services including an automatic API, Authentication, Realtime subscriptions, Storage, Edge Functions, and AI Vector support.Introduction to Jenkins Pipeline and Jenkinsfile
Jenkins Pipelines are implemented using a script called aJenkinsfile, which is written in the Groovy language. It is best practice to store theJenkinsfilein the project's root directory under source control. This enables code reviews, audit trails, and a single source of truth for the pipeline definition. Jenkins supports two formats: Declarative (introduced in Pipeline 2.5) and Scripted Pipeline.Apollo Architecture and Module Reference
Apollo consists of four core modules and three auxiliary service discovery modules:
Core Modules:
- ConfigService: Provides configuration retrieval and push interfaces for Apollo clients.
- AdminService: Provides configuration management and publishing interfaces for the Portal.
- Client: Fetches configurations for applications, supports real-time updates, and uses MetaServer to locate ConfigService instances via soft load balancing (SLB).
- Portal: The management UI; uses MetaServer to locate AdminService instances via SLB.
Auxiliary Modules:
- Eureka: Handles service registration and discovery for Config/AdminService; typically deployed with ConfigService.
- MetaServer: Acts as a Eureka Proxy. Portal and Clients access MetaServer via domain names to retrieve AdminService and ConfigService address lists respectively. Typically deployed with ConfigService.
- NginxLB: Works with the DNS system to route traffic to MetaServer and the Portal UI.
Understand Kubernetes core components and architecture
A Kubernetes cluster consists of two primary resource types: the Master (Control Plane) and Nodes (Worker Machines).
Master Components:
kube-apiserver: The REST API entry point for the cluster.kube-controller-manager: Handles background tasks like node status and Pod/Service associations.kube-scheduler: Assigns Pods to nodes based on resource availability.etcd: A distributed key-value store for service discovery and configuration sharing.
Node Components:
kubelet: An agent that manages Pods and containers on the node and reports status to the API server.kube-proxy: A network proxy that maintains network rules for Service communication.- Container Runtime: Tools like Docker or rkt used to run containers.
Additional Tools:
kubectl: The command-line tool used to interact with the cluster.DNS: An optional service for creating DNS records for Service objects.
Understand Forward vs Reverse Proxy
Nginx can be used for both forward and reverse proxying:
- Forward Proxy: Acts on behalf of the client. The client configures the proxy to access external resources (Internet). Used for bypassing restrictions, caching, and hiding client identity.
- Reverse Proxy: Acts on behalf of the server. The client sends requests to the proxy, which then forwards them to the appropriate internal server. Used for security (hiding internal server IPs) and load balancing.
Reference Release object properties
The.Releaseobject provides metadata about the current deployment instance:.Release.Name: The name of the release .Release.Namespace: The namespace of the release .Release.IsUpgrade: True if the operation is an upgrade or rollback .Release.IsInstall: True if the operation is an installation .Release.Revision: The version number of the revision (starts at 1) .Release.Service: Always 'Helm'Understand the Git basic workflow
Git operates across four primary areas: the Workspace (local files), the Index/Stage (temporary area for commits), the Local Repository (stored history), and the Remote Repository (shared server).# Workspace -> Stage git add <file/dir> # Stage -> Local Repository git commit -m "message" # Local Repository -> Remote Repository git push origin master # Stage -> Workspace (Overwrite workspace with staged content) git checkout -- <file> # Local Repository -> Stage (Overwrite stage with repository content) git reset HEAD <file> # Remote Repository -> Local Repository git clone <remoteUrl>Understand Dubbo core concepts and node roles
Dubbo is a high-performance, lightweight open-source Java RPC (Remote Procedure Call) framework. It provides interface-oriented remote method calls, intelligent fault tolerance, load balancing, and automatic service registration and discovery.
Key node roles in a Dubbo ecosystem:
- Provider: The service provider that exposes services.
- Consumer: The service consumer that calls remote services.
- Registry: The service directory framework used for registration, publication, and subscription (defaults to Apache Zookeeper).
- Monitor: A logging service that tracks service call counts and execution times for reporting and load balancing. It is optional and does not affect the call path if unavailable.
- Container: The service runtime container (typically a Spring sub-container) responsible for starting and loading the provider.
Understand CAS (Central Authentication Service) for SSO
CAS is a specific protocol and software framework used to implement Single Sign-On (SSO). While SSO is the general goal of allowing a user to access multiple independent systems with one set of credentials, CAS is the standardized method used to achieve this. The project is maintained by the Apereo Foundation.