Ускорьте время от требований до запуска
English | Русский
go-zero (включено в карту облачной архитектуры CNCF: https://landscape.cncf.io/?selected=go-zero) — это веб- и RPC-фреймворк, который объединяет различные инженерные практики. Эластичность его дизайна обеспечивает стабильность при работе с большим количеством одновременных соединений, что было проверено на практике.go-zero включает минималистичные средства определения API и генератор кода goctl, который может автоматически создавать код на Go, iOS, Android, Kotlin, Dart, TypeScript, JavaScript на основе определённых файлов API и сразу запустить его. Преимущества использования go-zero:
В начале 2018 года мы решили перейти от монолитной архитектуры на Java + MongoDB к микросервисной архитектуре. После тщательного анализа и сравнения, мы приняли решение:* Использование языка программирования Go
При проектировании микросервисного фреймворка, мы стремились обеспечивать стабильность микросервисов, при этом особо акцентируя внимание на повышении эффективности разработки. Поэтому, ещё на этапе проектирования, мы установили следующие принципы:
Мы завершили переход от Java + MongoDB к Golang + MySQL за менее чем полгода, полностью запустив систему в конце августа 2018 года. Это обеспечило стабильное обеспечение быстрого роста бизнеса и гарантию высокой доступности всего сервиса.
Go-zero представляет собой интеграцию различных практик инженерии, включающую веб- и RPC-фреймворки. Ключевые характеристики:* Сильная поддержка инструментов, минимизация написания кода
net/http
Если вам понравилось, не забудьте звездить проект 👏
Используйте следующую команду для установки в корневой директории вашего проекта:
GO111MODULE=on GOPROXY=https://goproxy.cn/,direct go get -u github.com/zeromicro/go-zero
Полный пример доступен здесь:
Быстрая сборка высокопроизводительной микросервисной системы
Быстрая сборка высокопроизводительной микросервисной системы — версия с несколькими RPC
Установите goctl
goctl
произносится как go control
, а не как go C-T-L
. goctl
означает контроль над кодом, а не его управление им. Вначале при создании goctl
я хотел использовать этот инструмент для освобождения наших рук 👈 ```shell
GOPROXY=https://goproxy.cn/,direct go install github.com/zeromicro/go-zero/tools/goctl@latest
brew install goctl
docker pull kevinwan/goctl
docker run --rm -it -v $(pwd):/app kevinwan/goctl --help
docker pull kevinwan/goctl:latest-arm64
docker run --rm -it -v $(pwd):/app kevinwan/goctl:latest-arm64 --help
Убедитесь, что goctl можно выполнить.2. Быстро создайте API сервис
```shell
goctl api new greet
cd greet
go mod init
go mod tidy
go run greet.go -f etc/greet-api.yaml
По умолчанию прослушивает порт 8888
(можно изменить это в конфигурационном файле), запросы могут быть отправлены через curl
:
curl -i http://localhost:8888/from/you
Ответ будет таким:
HTTP/1.1 200 OK
Content-Type: application/json
Date: Thu, 22 Oct 2020 14:03:18 GMT
Content-Length: 14
{"message":"Hello"}
Напишите бизнес-логику:
servicecontext.go
get/post/put/delete
в определении API. Можно сгенерировать необходимый Java, TypeScript, Dart, JavaScript код для фронтенда на основе api файлаgoctl api java -api greet.api -dir greet
goctl api dart -api greet.api -dir greet
...
API документация
Awesome серия (более подробные статьи см. в публичном аккаунте WeChat «微服务实践») * Быстрое создание высокопроизводительной микросервисной системы
goctl
Плагин | Цель |
---|---|
goctl-swagger | Одним щелчком мыши генерирует документацию Swagger для API |
goctl-android | Генерирует код запроса HTTP клиента для Android (Java) |
goctl-go-compact | Объединяет обработчики одного группы внутри API в один Go файл |
1. Хорошее Будущее
2. Шанхайская компания Xiuxin Information Technology (Xiao Heiban)
3. Шанхайская компания Yushu Technology
4. Чжанцзянская компания Qianfan Network Technology
5. Клуб работников
6. Герои спорта (VSPN)
7. Githubmemory
8. Шэнько (Шанхай) компания по брендингу Senkoo
9. Аньшаньская компания Sanhe Zhongxin Technology
10. Гуанчжоуская компания Star Dream Workshop Network Technology
11. Ханьчжоуская компания Fuzama Technology
12. Компания Sai Ling Technology
13. Ловец лунной собаки
14. Цзэjiangская компания Sanhe Telecommunications Technology
15. Компания Aiksa
16. Чжэнчжоуская компания Zhonghe Internet Information Technology
17. Компания Sanqiyouxi Game
18. Чэндуанская компания Chengdao Fu Technology
19. Lenovo
20. Yunxi
21. Gao Ying International
22. Пекинская компания Beijing Zhongke Life Services
23. Индонезийская компания Indochat ASHIYING
24. Shuzan
25. Liangguan Technology
26. Hangzhou Youpa Cloud Technology
27. Shenzen Diangou E-commerce Holding Co., Ltd.
28. Shenzen Ningke Wode Technology Co., Ltd.
29. Guilin Urit Medical Electronics Co., Ltd.
30. Chengdu ZhiCheng Interactive Technology Co., Ltd.
31. Shenzen Banban Technology Co., Ltd.
32. Feishi (Suzhou) Digital Technology Co., Ltd.
33. Shanghai Jingsi Intelligent Technology Co., Ltd.
34. Nanning Chensheng Computer Technology Co., Ltd.
35. Qinhuangdao Team 2084
36. China Telecom Tianyi Cloud Co., Ltd.
37. Nanjing Suyouyun Information Technology Co., Ltd.
38. Beijing Xiaoya Technology Co., Ltd.
39. Shenzen Wu Boundary Technology Co., Ltd.
40. Maanshan Baozhu Network Technology Co., Ltd.
41. Shanghai Amour Tech Co., Ltd.
42.Invention Quantitative 43. Jinan Chaojie Network Technology Co., Ltd. 44. Suzhou Huanmeng Information Storage Technology Co., Ltd. 45. Chengdu Etu Education Technology Group Co., Ltd. 46. Shanghai Youzu Network Technology Co., Ltd. 47. Shenzhen Deep Security Co., Ltd. 48. China Duty Free Group Dayon Technology Interconnection Co., Ltd. 49. ECLOUDVALLEY TECHNOLOGY (HONG KONG) LIMITED 50. Xinkexi Technology (Shenzhen) Co., Ltd. 51. Chengdu Songbo Technology Co., Ltd. 52. Yi Jingzhilian 53. Shanghai Kobit Intelligent Technology Co., Ltd. 54. Yixi Technology Chengdu Co., Ltd. 55. Beijing Shujie Technology Co., Ltd. 56. Time Pulse Network Technology (Yunfu City) Co., Ltd. 57. Store Helper 58. Qiuniu Cloud 59. Feirui Network 60. 51CTO 61. Yuji Technology 62. Shandong Shengruan Science and Technology Co., Ltd. 63. Shanghai Xin'guo Technology Co., Ltd. (Hot Sale) 64. Chengdu Gaolu Technology Co., Ltd. 65. Feishi (Suzhou) Digital Technology Co., Ltd. 66. Shanghai Huaxi Information Technology Co., Ltd. 67. UnionTech Software Co., Ltd. 68. Detu 69. Dinghan Culture Co., Ltd. 70. Chaomao Wenhua (Yunnan) Development Finance Company 71. Hunan Dusi Information Technologies Company 72. Shenzhen Yuan Du 73. Wuhan Uotsi Technology Company (Jiaozhi) 74. Yushi Technologies 75. Dingdan Taodun 76. Keep 77. Simba Innovation 78. ZeroCMF 79. Anhuisyanmen Jiufu Jilinfa Group Companies 80. Guangzhou Tengsi Technology Company 81. Guangzhou Jiqizheng Wulian Technology Company 82. Xiamen Yilian Network Technology Co., Ltd. 83. Beijing Maiyatian Network Technology Company Limited 84. Foshan Shi Zhenlian Technology Company Limited 85. Suzhou Zhayan Information Technology Company Limited 86. Chinese Mobile Network Shanghai Industrial Research Institute 87. Tianshu Shuzhan (Zhejiang) Technology Company 88. Beijing Yurenxiang Intelligent Technology Company Limited 89.Beijing Shuzhi Fang Technology Company Limited 90. Председатель Технологий 91. Ningbo Yongfeng Information Technology Company Limited 92. Shenzen Wanjiawan Internet Science and Technology Co., Ltd. 93. Wu Hou District Bianchengmei Software Development Studio 94. Xi'an Jiaotong University Smart Energy and Carbon Neutrality Research Center 95. Chengdu Chuansuo Technology Co., Ltd. 96. Sonderbase Technologies 97. Shanghai Rongshi Information Technology Co., Ltd. 98. Shanghai Tongxi Intelligent Technology Co., Ltd. 99. Xin Hua San Technology Co., Ltd. Если ваша компания также использует go-zero, приветствуем регистрацию по адресу регистрационный адрес, это делается только для продвижения, никаких других целей.## 10. Обзор технологий CNCF
go-zero включена в обзор технологий CNCF Cloud Native.
Статьи и видео, связанные с go-zero
, будут собраны и представлены в официальном WeChat канале Микросервисы в действии
. Приветствуем подписку 👏
Если у вас есть вопросы, которые не были охвачены в документах, вы можете задать их в группе, мы ответим как можно скорее.
Вы можете предложить улучшения использования в группе, мы рассмотрим их рациональность и примем меры как можно быстрее.
Если вы заметили ошибку, пожалуйста, создайте issue немедленно, мы проверим и исправим её как можно скорее.
Перед тем как присоединиться к группе, пожалуйста, отметьте проект звездой ★, небольшая звезда ★ является источником энергии для авторов при ответе на множество вопросов! 🤝
Если вам понравился проект, вы можете поддержать авторов, заказав им кофе 🍹
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )