Подпроект Apache ShardingSphere-on-Cloud
ShardingSphere-on-Cloud — это подпроект Apache ShardingSphere для облачных решений, охватывающий все, от сценариев автоматического развертывания до виртуальных машин в облачных средах AWS, GCP, AliCloud, Huawei Cloud, таких как шаблоны стека CloudFormation, Terraform и многое другое.
Проект также охватывает такие инструменты, как Helm Charts, Operator и автоматическое горизонтальное масштабирование в средах Kubernetes, и постепенно будет охватывать высокую доступность, наблюдаемость и соответствие требованиям безопасности ShardingSphere в облачных средах.
- Если вы хотите быстро понять, проверить или использовать функции ShardingSphere-Proxy и у вас нет среды Kubernetes, вы можете использовать AWS CloudFormation или Terraform для развертываний по требованию, как описано в предыдущей статье Используйте AWS CloudFormation для создавать кластеры высокой доступности ShardingSphere.
- Если вы хотите выполнить развертывание в среде Kubernetes, вы можете использовать функцию оператора или установить ShardingSphere-Proxy напрямую, без использования оператора, но с диаграммами Helm.
Для получения дополнительной информации обратитесь к официальной документации.
Зачем вам нужен оператор ShardingSphere
Kubernetes предоставляет способ реализации «платформы поверх платформы», шаблона Operator, который использует пользовательскую CustomResourceDefinition с открытой платформой модели Reconcile Kubernetes.
Платформа модели Reconcile, предоставляемая Kubernetes, позволяет разработчикам быстро реализовать декларативный пользовательский инструмент Ops для данного приложения, например Prometheus-Operator, Nats-Operator и т. д.
В качестве прозрачного механизма улучшения базы данных Apache ShardingSphere поддерживает доступ к любому клиенту с использованием протоколов MySQL, PostgreSQL, openGauss, при этом ShardingSphere-Proxy больше подходит для гетерогенных языков и сценариев высокой доступности.
Использование Operator делает развертывание и обслуживание ShardingSphere-Proxy в Kubernetes намного проще и эффективнее.

Использование оператора ShardingSphere: пример
Перед использованием ShardingSphere вам необходимо подготовить одну или несколько совместимых баз данных в качестве узлов хранения.
Подробные инструкции можно найти в официальной документации подпроекта ShardingSphere-on-Cloud.
Установить ShardingSphere-оператор
Найдите необходимое содержимое конфигурации и конфигурацию Каталог файлов для установки здесь.
Чтобы облегчить установку Оператора, наше сообщество предоставляет онлайн-установку в дополнение к установке исходного кода. Эти два метода заключаются в следующем:
Онлайн-установка
kubectl create ns shardingsphere-operator helm repo add shardingsphere https://apache.github.io/shardingsphere-on-cloud helm repo update helm install demo-release shardingsphere/apache-shardingsphere-operator-charts -n shardingsphere-operator
Пример результата операции:
Примечание:пожалуйста, обратитесь к официальной документации для установки исходного кода。
На данный момент вы можете видеть, что оператор внедрил crd , над которым будет работать оператор, в кластер Kubernetes, используя kubectl get crd:
А также просмотр развернутого ShardingSphere-Operator:
Развертывание кластеров ShardingSphere-Proxy
Список всех параметров, которые можно настроить, можно найти в документации здесь.
Совет. вам необходимо предоставить доступный кластер ZooKeeper, прежде чем вы сможете запустить ShardingSphere-Proxy.
Для запуска ShardingSphere-Proxy вам необходимо написать два CustomResourceDefinition файла: shardingsphereproxy.yaml и shardingsphereproxyserverconfigs.yaml, примеры которых следующие:
# shardingsphereproxy.yaml
apiVersion: shardingsphere.apache.org/v1alpha1
kind: ShardingSphereProxy
metadata:
labels:
app: shardingsphere-proxy
name: shardingsphere-proxy
namespace: shardingsphere-demo
spec:
mySQLDriver:
version: 5.1.47
port: 3307
proxyConfigName: shardingsphere-proxy-configuration
replicas: 3
serviceType:
type: ClusterIP
version: 5.3.0
---
# shardingsphereproxyserverconfigs.yaml
apiVersion: shardingsphere.apache.org/v1alpha1
kind: ShardingSphereProxyServerConfig
metadata:
labels:
app: shardingsphere-proxy
name: shardingsphere-proxy-configuration
namespace: shardingsphere-demo
spec:
authority:
privilege:
type: ALL_PERMITTED
users:
- password: root
user: root@%
mode:
repository:
props:
maxRetries: 3
namespace: governance_ds
operationTimeoutMilliseconds: 5000
retryIntervalMilliseconds: 500
server-lists: shardingsphere-proxy-zookeeper.shardingsphere:2181 # 此处为示例,根据实际部署进行修改
timeToLiveSeconds: 600
type: ZooKeeper
type: Cluster
props:
proxy-frontend-database-protocol-type: MySQL
Примеры операций:
Затем вы можете проверить статус пода, работающего под пространством имен shardingsphere-demo:
Связанные ресурсы, созданные Оператором, также можно найти по адресу:
Настройка ShardingSphere-Proxy для возможности шифрования данных
ShardingSphere поддерживает DistSQL, чтобы помочь администраторам баз данных быстро настроить и запустить регистрацию узлов хранения, настройку правил и многое другое. Узнать больше можно здесь.
По мере того, как предприятия продолжают цифровую трансформацию, между всеми видами бизнеса передается все больше пользовательских данных. Различные страны и регионы ввели правила и рамки для обеспечения безопасности данных, такие как GDPR ЕС и другие.
Apache ShardingSphere предлагает множество функций для защиты данных, таких как шифрование и дешифрование данных.
Ниже приведены примеры шифрования данных:
- Зарегистрировать узлы хранения
2. Создайте правила шифрования
3. Создайте логические таблицы
4. Просмотр физических свойств таблицы
5. Логическая вставка таблицы и запрос
6. Запрос физической таблицы источника данных
Вы можете найти более подробную информацию о функциях шифрования здесь.
Хорошие новости! Наша новая ShardingSphere-on-Cloud уже запущена!
С миграцией подпроекта ShardingSphere-on-Cloud на https://github.com/apache/shardingsphere-on-cloud мы разработали и запустили новый веб-сайт.
По мере роста проекта это поможет заинтересованным пользователям или участникам лучше понять проект и участвовать в сообществе, включая документацию для каждой версии, введение в сообщество, информацию об Apache Foundation, обновления сообщества, информацию об Apache Foundation и и т. д.

Соответствующие ссылки:
🔗 ShardingSphere-on-Cloud Github
🔗 Официальный сайт ShardingSphere-on-Cloud
🔗 Apache ShardingSphere GitHub