Подпроект 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